Re: [問題] 如何判斷dll是 debug還是release build …

看板C_Sharp (C#)作者 (rotareti)時間14年前 (2011/07/29 09:32), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串1/1
※ 引述《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

07/30 00:45, , 1F
這是適用在C++還是C#的dll呢?
07/30 00:45, 1F

07/30 03:10, , 2F
Paint.NET 是 C# 寫的..
07/30 03:10, 2F

07/30 03:10, , 3F
而且這個方法反而只適用於 C#
07/30 03:10, 3F

07/30 03:11, , 4F
因為VC產生的,pdb檔案名稱的部分不會加上路徑..
07/30 03:11, 4F
文章代碼(AID): #1ECWsnYr (C_Sharp)
文章代碼(AID): #1ECWsnYr (C_Sharp)