作者iterator (rotareti)
看板C_Sharp
標題Re: [問題] 如何判斷dll是 debug還是release build …
時間Fri Jul 29 09:32:29 2011
※ 引述《QQ29 (我愛阿蓉)》之銘言:
: 請教各位~
: 我現在使用一個dll 但我覺得效能很差
: 有人跟我講說我用的是debug版本
: 我想證實 到底是不是debug build出來的
: 但不知怎麼看
: 請教各位 謝謝
首先準備:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\dumpbin.exe
命令列:
[C:\Program Files\Paint.NET]dumpbin /headers PaintDotNet.Base.dll
透過上面的指令, 如果 dll 在編譯時, 有選擇輸出 pdb 檔案,
就會出現像下面的結果: (會跑出一堆資訊, 在後半部)
...
Debug Directories
Time Type Size RVA Pointer
-------- ------ -------- -------- --------
4D72AD7D cv 55 00028574 26774 Format: RSDS,
{ED2E9221-08E9-489A-A17D-F1286964EF95}, 1,
D:\src\pdn\pdn_35x\src\Base\obj\
Release\PaintDotNet.Base.pdb
...
不過這不代表 100% 正確, 因為路徑可能被換過,
也有可能雖然選擇 debug build, 卻故意不輸出 pdb 檔案.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.23.102
推 QQ29:這是適用在C++還是C#的dll呢? 07/30 00:45
→ iterator:Paint.NET 是 C# 寫的.. 07/30 03:10
→ iterator:而且這個方法反而只適用於 C# 07/30 03:10
→ iterator:因為VC產生的,pdb檔案名稱的部分不會加上路徑.. 07/30 03:11