1

DirectShow ソース フィルタをデバッグしようとしています。DSPACK コンポーネント ライブラリと共に Windows XP で Delphi Pro 6 を使用しています。ソース フィルター DLL (ax ファイル拡張子) をテストするために、[実行] メニューの [パラメーター] オプションで設定したホスト アプリケーションとして Skype を使用しています。Skype は正常に動作し、イベント ビューアーに OutputDebugString メッセージのストリームが表示されますが、ブレークポイントにヒットすることはありません。プロジェクト設定では、最適化をオフ、スタック フレームをオン、デバッグ DCU をオン、範囲チェックをオン、オーバーフロー チェックをオンにしています。コードを変更してテストを実行するたびに、次のことを行います。

  • フルビルドを行う
  • DirectShow フィルターの登録を解除する (regsvr32 /u)
  • DirectShow フィルターを登録する (regsvr32)
  • IDE から Skype をホスト アプリケーションとして実行する

例外が発生すると、IDE は例外をトラップし、CPU ウィンドウでアセンブラー コードを表示するオプションを含むエラー ダイアログ ボックスをポップアップ表示します。しかし、私のブレークポイントはどれもヒットしていません。ブレークポイントを機能させる方法を教えてもらえますか?

ありがとう。

4

2 に答える 2

2

Mason Wheeler が示すデバッグ オプションとともに、完全なマップ ファイルを使用します。また、検索パスに古い DCU と BPL が含まれていないことを確認してください。また、EurekaLog または MadExcept の使用を検討してください。試用版でも、爆発したときに何が起こっているかを示すことができるはずです。

于 2010-03-18T15:07:55.320 に答える
2

プロジェクトオプションで、またはコードまたはインクルードファイルのどこかに $D- スイッチを使用して、デバッグ情報をオフにしてビルドしているように思えます。デバッグ情報が利用可能であることを確認してください。

于 2010-03-18T12:33:56.800 に答える