Где я могу видеть вывод printf в приложении mfc во время отладки?Где я могу видеть вывод printf в mcc applcation?
Есть ли «консольное» окно, которое я могу просмотреть в отладчике?
(Visual Studio C++ 6.0)
Спасибо.
Где я могу видеть вывод printf в приложении mfc во время отладки?Где я могу видеть вывод printf в mcc applcation?
Есть ли «консольное» окно, которое я могу просмотреть в отладчике?
(Visual Studio C++ 6.0)
Спасибо.
Если вы используете API OutputDebugString, строки, которые вы выводите, будут отображаться в Окно вывода Visual C (в режиме отладки). В режиме выпуска вам потребуется отдельное приложение для их захвата, например DBWIN32.EXE
Преимущество использования отдельного приложения заключается в том, что вы можете получать отладочный вывод из нескольких приложений, сериализованных в одно окно, что может быть очень удобно для отладки некоторых сценариев.
Недостатком является то, что вы можете получить отладочный вывод из других приложений (ничего общего с вашим), потому что они забыли указать свой отладочный файл в сборке релизов. TRACE сделает это автоматически, но, конечно, могут быть случаи, когда вы ХОТИТЕ получить на выходе в сборке релиза. Я предпочитаю быть ответственным, поэтому я wsprintf/sprintf в строку, используйте OutputDebugString и сохраняю этот элемент управления для себя.
я использовать ТРАССИРОВКИ семейство макросов TRACE0
, TRACE1
, ... и т.д. Они ведут себя как 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 –
Действительно ? Хорошо, спасибо.... –