在調試過程中,我可以在哪裏看到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