关于调试时输出的字符串信息
2010-07-11 20:44:33 来源:WEB开发网核心提示:可见调试信息字符串(“Some debug information here! ”)确实存在于Release版的可执行文件里;我们当然不希望别人看到这些调试信息,那有没有办法来防止该调试信息被编译进Release版的可执行文件里呢?办法是有的,关于调试时输出的字符串信息(2),这里来描述2个方法
可见调试信息字符串(“Some debug information here! ”)确实存在于Release版的可执行文件里;
我们当然不希望别人看到这些调试信息,那有没有办法来防止该调试信息被编译进Release版的可执行文件里呢?
办法是有的,这里来描述2个方法。
办法一:
定义如下宏:
#if _DEBUG
#define _D(str) str
#else
#define _D(str) NULL
#endif
此时输出语句变为:
printInfo(_D("Some debug information here!
"));
在Debug模式下运行程序,依然输出调试信息:
“Some debug information here!”;
在Release下,则什么都不输出,此时我们用IDA看一下Release版的二进制文件,则没有发现该调试信息字符串。
如图二示:
更多精彩
赞助商链接