Visual Studio 2010에서 빈 프로젝트를 시작하여 C 응용 프로그램을 작성했습니다. 출력 창 (메뉴 디버그 -> ->출력)에 디버그 정보를 보내려면 어떻게해야합니까? TRACE
또는 OutputDebugString
또는 비슷한 것을 구현하는 비교적 간단한 방법이 있습니까?Visual Studio '출력'창에 디버그 정보를 보내는 간단한 방법
답변
OutputDebugString
입니다 방법입니다. 스택 오버플로 질문 How can I use the TRACE macro in non-MFC projects?에는 의 TRACE
매크로와 비슷한 것을 만드는 방법에 대한 정보가 OutputDebugString
을 포함하고 있습니다.
OutputDebugString
은 VS C 프로그램에서 사용할 수 있습니다.
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
OutputDebugString(_T("Hello World\n"));
return 0;
}
디버깅 "디버그"를 선택 "에서보기 출력 :"에 대한 출력 창에 (디버그> 디버깅 시작)
로 실행하면 출력은 볼 수
_T()되고 있습니다. ...? – Simon
@Simon이 도구는 유니 코드 모드와 ANSI 모드에서 모두 컴파일되는 프로그램을 만드는 데 사용되는 표준 Microsoft 사전 프로세서 매크로입니다. [tchar.h 및 친구들] (https://msdn.microsoft.com/en-us/library/windows/desktop/ff381407(v=vs.85))을 사용하지 않는 경우 _T()를 제거 할 수 있습니다. aspx # tchars). –
C++을 사용하는 경우 내 휴대용 TRACE 매크로에 관심이있을 수 있습니다.
#ifdef ENABLE_TRACE
# ifdef _MSC_VER
# include <windows.h>
# include <sstream>
# define TRACE(x) \
do { std::ostringstream s; s << x; \
OutputDebugString(s.str().c_str()); \
} while(0)
# else
# include <iostream>
# define TRACE(x) std::cerr << x << std::flush
# endif
#else
# define TRACE(x)
#endif
예 :
#define ENABLE_TRACE //can depend on _DEBUG or NDEBUG macros
#include "my_above_trace_header.h"
int main (void)
{
int i = 123;
double d = 456.789;
TRACE ("main() i="<< i <<" d="<< d <<'\n');
}
상관 개선/제안/기여 ;-) 환영
[카메라 C++ IDE 내의 출력 창에 인쇄 출력 (HTTP의 중복 가능성 : // stackoverflow.com/questions/7697842/printing-output-on-the-output-window-in-visual-c-ide) –
참조 : http://stackoverflow.com/q/1333527/39648 –