在调试过程中,我可以在哪里看到mfc应用程序中的printf输出?我在哪里可以看到mfc applcation中的printf输出?
是否有一个“控制台”窗口,我可以在调试器中查看?
(Visual Studio C++ 6.0)
谢谢。
在调试过程中,我可以在哪里看到mfc应用程序中的printf输出?我在哪里可以看到mfc applcation中的printf输出?
是否有一个“控制台”窗口,我可以在调试器中查看?
(Visual Studio C++ 6.0)
谢谢。
如果使用API OutputDebugString,则您输出的字符串将显示在Visual C输出窗口(在调试模式下)。在发布模式下,您需要一个单独的应用程序来捕获它们,例如DBWIN32.EXE
使用单独应用程序的优点是可以从多个应用程序获取调试输出,并将其串行化到单个窗口中,这可以是非常方便调试一些场景。
当然,缺点是你可以从其他应用程序获得调试输出(与你自己无关),因为他们忘记在发布版本中标记出他们的调试。 TRACE会自动执行此操作,但当然可能会出现您希望在发布版本中获得输出的情况。我更愿意负责,所以我将wsprintf/sprintf放入一个字符串中,使用OutputDebugString,并为我自己保留该控件。
我用宏 TRACE0
,TRACE1
的TRACE家庭,...等 它的行为中的printf。 0,1,2,...等足以指定宏可以采用的参数数量(printf使用va_list打开的参数数量)
这是它是如何做:
// for OutputDebugString
#include "Windows.h"
// ...
// fill in the message
char message[2000];
// fill in the variables
int var1 = ...;
int var2 = ...;
// fill in the message string and output it
sprintf(message, "... format %d,%d", var1, var2);
OutputDebugString((LPCSTR)message);
它应该出现在输出窗口。 (它需要投入LPCSTR
。)
http://stackoverflow.com/questions/3009042/how-to-view-printf-output-in-win32-app-on-visual-studio-2010 – 2010-06-29 19:55:33
真的?好,谢谢.... – 2010-06-29 20:26:49