WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院软件开发VC 关于调试时输出的字符串信息 阅读

关于调试时输出的字符串信息

 2010-07-11 20:44:33 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愬搫绾ч柕濠忕細閼割亜顪冪€n剙浠ф繛鍫熷灥椤曘儵顢欓悡搴ば�
核心提示:可见调试信息字符串(“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版的二进制文件,则没有发现该调试信息字符串。

如图二示:

Tags:关于 调试 输出

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接