作者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
1F:推 QQ29:这是适用在C++还是C#的dll呢? 07/30 00:45
2F:→ iterator:Paint.NET 是 C# 写的.. 07/30 03:10
3F:→ iterator:而且这个方法反而只适用於 C# 07/30 03:10
4F:→ iterator:因为VC产生的,pdb档案名称的部分不会加上路径.. 07/30 03:11