我有一个C++的Windows应用程序,它调用一个托管C++ DLL,它又调用一个本地C++ DLL。在本机C++代码中似乎有一些性能问题,所以我正在做一些简单的剖析。我想转储分析的结果,以便Visual Studio输出窗口接收分析结果。我想 printf 这样就可以了,但在输出窗口或直接窗口中都不会显示任何内容。我也尝试过 fprintf 但这也不管用。
printf
fprintf
尝试 OutputDebugString
OutputDebugString相当简单,因此我倾向于将以下内容添加到我的项目中,以使其像printf一样工作(确保避免超出缓冲区大小):
#if (_VERBOSE) void DebugPrintf (LPTSTR lpFormat, ...) { TCHAR szBuf[1024]; va_list marker; va_start( marker, lpFormat ); _vstprintf( szBuf, lpFormat, marker ); OutputDebugString( szBuf ); va_end( marker ); } #endif