8

私のプログラムは Windows XP で問題なく動作します。私はいくつかの機能を追加しようとしておりOutputDebugString()、デバッグ情報を表示するために使用しています。XPで問題なく動作します。Windows 7x64で同じプログラムを使用したいとき。に出力が表示されませんDebugView

F1! F1! F1!

4

3 に答える 3

12

古い質問を復活させて申し訳ありませんが、この質問に答えるためにインターネットを検索するのに数日を費やし、最終的に接続呼び出しをログに記録しました。同じ状況の誰かを助けるためにここに投稿しています。私たちの特定の問題は、x64 の混合モード アプリケーションをデバッグするときに、デバッグ出力ウィンドウで OutputDebugString、MFC TRACE などから出力を取得することでした。

Microsoft によると、x64 混合モード アプリケーションをデバッグする場合、デバッガー タイプ 'auto' (Debugging->Debugger Type プロパティ ページで設定) はデフォルトで混合ではなく管理されているようです。これは、64 ビット ビルドのデバッグ時にマネージド デバッグ出力とネイティブ デバッグ出力の両方が表示されるように、明示的に「Mixed」に設定する必要があります。

于 2013-01-17T09:30:56.453 に答える
4

3つの小さな提案:

  1. 実際にイベントをキャプチャしていることを確認してください(トップメニュー->キャプチャ->キャプチャwin32がマークされています)
  2. プログラムが低整合性で実行されている場合(実行時にセキュリティ警告が表示されますか)、デバッグビューも低整合性で実行する必要があります。これを行うには、実行する前にdbgview.exeの整合性レベルを変更する必要があります。
  3. Visual Studioを使用していて、デバッガーで実行している場合(F5キーを押す)、デバッグ出力は実際にはVisual Studioによって(出力ウィンドウで)キャプチャされます。ctrlf5でプログラムを実行してみてください。
于 2011-11-22T22:19:56.897 に答える