我有一个c#windows应用程序,它调用托管c ++ dll,而后者又调用本机c ++ dll。在本机c ++代码中似乎存在一些性能问题,所以我正在进行一些简单的分析。我想转储分析的结果,以便Visual Studio输出窗口选择它。我认为printf
可以解决这个问题,但是在“输出”窗口或“立即”窗口中都没有显示任何内容。我也试过fprintf
,但这也不起作用。
答案 0 :(得分:7)
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