2010-06-29 250 views
2

在調試過程中,我可以在哪裏看到mfc應用程序中的printf輸出?我在哪裏可以看到mfc applcation中的printf輸出?

是否有一個「控制檯」窗口,我可以在調試器中查看?

(Visual Studio C++ 6.0)

謝謝。

+4

http://stackoverflow.com/questions/3009042/how-to-view-printf-output-in-win32-app-on-visual-studio-2010 – 2010-06-29 19:55:33

+0

真的?好,謝謝.... – 2010-06-29 20:26:49

回答

2

如果使用API​​ OutputDebugString,則您輸出的字符串將顯示在Visual C輸出窗口(在調試模式下)。在發佈模式下,您需要一個單獨的應用程序來捕獲它們,例如DBWIN32.EXE

使用單獨應用程序的優點是可以從多個應用程序獲取調試輸出,並將其串行化到單個窗口中,這可以是非常方便調試一些場景。

當然,缺點是你可以從其他應用程序獲得調試輸出(與你自己無關),因爲他們忘記在發佈版本中標記出他們的調試。 TRACE會自動執行此操作,但當然可能會出現您希望在發佈版本中獲得輸出的情況。我更願意負責,所以我將wsprintf/sprintf放入一個字符串中,使用OutputDebugString,併爲我自己保留該控件。

2

我用宏 TRACE0TRACE1的TRACE家庭,...等 它的行爲中的printf。 0,1,2,...等足以指定宏可以採用的參數數量(printf使用va_list打開的參數數量)

0

這是它是如何做:

// 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。)

相關問題