1

ASSERTE マクロを使用して事前条件を確認しています。その定義によると、ASSERT_BASE を使用しており、_CrtDbgReportW を呼び出してメッセージを出力します。_CrtDbgReportW の出力先はどこですか?

アプリケーションがデバッガーから起動された場合、デバッガー ウィンドウに移動すると思います。デバッガーの下にない場合、メッセージはどこに行きますか?

4

1 に答える 1

1

_CrtDbgReportWの出力は、設定方法によって異なります。デフォルトでは、それをOutputDebugStringAPIに送信します。

デバッガーはOutputDebugString出力をトラップし、通常、提案どおりにデバッガーウィンドウに表示します。

PCアプリケーションに使用できるDebugViewのような出力をトラップするアプリケーションもあります。

更新:WindowsMo​​bileビットを見逃しました。それがOutputDebugStringに出力されることを私はまだ信じていますが、動作するサードパーティのアプリケーションを知りません。Windows MobileでOutputDebugString出力をトラップすることを私が知っている唯一の方法は、デバッグ関数 DebugActiveProcess / WaitForDebugEventを使用してOUTPUT_DEBUG_STRING_EVENTイベントをトラップし、それらをどこかに書き出すことです。

于 2009-05-27T03:42:03.737 に答える