zTrace 是一款用于显示调试信息的实用工具,它可以将信息显示在弹出窗口工具中,或者写入文本文件。该工具通过一个独立于当前应用程序的线程并行工作,非常适合在开发过程中检查程序是否正常运行。本文将介绍zTrace工具的优化过程,以及如何在Visual Studio中使用它来调试64位Unicode应用程序。
zTrace最初是为了调试作者的图形DLL工具而编写的,但它同样适用于任何32位或64位的EXE文件。当作者决定将WinLIFT和GDImage转换为C++时,zTrace成为了他的首选工具,因为他发现自己已经无法在没有它的情况下进行开发。
zTrace完全使用核心的平面API SDK过程风格,这是作者使用的不同语言之间的共同点,也是摆脱额外依赖的唯一方式。这个版本仅支持UNICODE,对于32位有一个ANSI版本,是用PowerBASIC编写的。
使用zTrace非常简单,只需要调用一个API即可:
C++
zTrace(L"Wide String Information")
传递一个单一的Unicode(WCHAR)字符串,该字符串包含要在跟踪窗口中显示的信息。
跟踪窗口:
zDebug.txt报告:
(在跟踪窗口上右键单击):
为了大幅度减少zTrace.dll的大小,必须使用提供的TCLib.lib,并设置属性页如下:
Include + Pragma
#include
#include "
..\TCLib\Strings.cpp"
#pragma warning(disable: 4996) // remove Unsafe notifications
#pragma warning(disable: 4312) // remove warning C4312: 'type cast': conversion from 'long' to 'HMENU' of greater size