5

OutputDebugStringをバイパスすることは可能かどうか疑問に思っていますか?OutputDebugString出力を、内部のDelphiイベントビューアウィンドウではなく、DebugViewに表示したいのですが。しかし、OutputDebugStringを飲み込まないようにDelphiに指示する方法が見つかりません。何か案は?

よろしく

4

5 に答える 5

5

それは不可能です。

OutputDebugString は、文字列をデバッガーに送信します(その名前が示すように)。プロセスごとにアクティブなデバッガーは 1 つだけです。Delphi の下でアプリケーションを実行すると、Delphi はデバッガーであるため、メッセージを受け取りました。Delphi の外部でアプリケーションを実行すると、DebugView はアプリケーションにアクセスできます。

ただし、なぜこれが必要なのですか?Delphi イベント ログで他のタイプのイベントを無効にするだけで、DebugView と同じ機能が得られます。

于 2010-06-25T08:04:54.177 に答える
1

これを回避する方法はないと思います。Delphi 2009でも状況は同じです。機能リクエストを送信する必要があります: http://qc.embarcadero.com

Delphi の内部イベント ログ ウィンドウの代わりに、どのような利点があるのでしょうか。

于 2010-06-25T07:01:21.303 に答える
1

DebugView の代わりに、Process Monitorとその新しい「デバッグ出力」機能を試すことができます。これは OutputDebugString を使用せず、独自のAPIを使用し、Delphi ラッパーもここにあります。Process Monitor のフィルタリング機能を使用できますが、Delphi はそのメッセージをトラップしませんが、OutputDebugString のような一般的な機能ではありません。

于 2010-06-25T13:59:37.607 に答える
0

元の質問が尋ねたものではないことは理解していますが、Raize Software のCodeSiteを見る価値はあります。これは、OutputDebugString をまったく新しいレベルに引き上げます。メッセージは、高度に強化された DebugView とほぼ同等の CodeSite ビューアーに送信 (できます) されます。私見のすべてのペニーの価値があります。

于 2010-06-25T09:16:46.743 に答える
0

イベント ログのプロパティで「出力メッセージ」を無効にしても機能しませんか?

于 2010-06-25T07:00:58.487 に答える