문제

Asserte 매크로를 사용하여 사전 조건을 확인하고 있습니다. 그 정의에 따르면 Assert_base를 사용하고 있는데, 이는 _crtdbgreportw를 호출하여 메시지를 인쇄합니다. _crtdbgreportw 출력은 어디에 있습니까?

응용 프로그램이 디버거에서 시작되면 디버거 창으로 이동한다고 가정합니다. 디버거 아래에 있지 않으면 메시지는 어디로 갈까요?

도움이 되었습니까?

해결책

출력 _crtdbgreportw 설정 방법에 따라 다릅니다. 기본적으로 그것은 그것을 보냅니다 outputdebugstring API.

Debuggers는 출력 Debugstring 출력을 가두고 일반적으로 귀하가 제안한대로 디버거 창에 표시합니다.

출력과 같은 응용 프로그램도 있습니다 디버그 뷰 PC 응용 프로그램에 사용할 수 있습니다.

업데이트 : Windows 모바일 비트를 놓쳤습니다. 나는 여전히 그것이 출력 debugstring에 대한 출력임을 믿지만 작동하는 제 3 자 애플리케이션은 모릅니다. Windows Mobile에서 OutputDeBugString 출력을 가두는 유일한 방법은 디버깅 기능 디버시티브 프로세스 / Waitfordebugevent output_debug_string_event 이벤트를 가두어 어딘가에 작성하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top