0

C++ Builder で記述された DLL があります。DLL は「デバッグ情報」をオンにしてビルドされます。
この DLL は、別のプロセス (メイン exe) でプラグインとして動的に読み込まれるため、IDE から実行およびデバッグできません。まず、DLL をメインの exe のフォルダーにコピーする必要があります。

そのため、そのプロセスに IDE をアタッチしましたが、ここから何をすればよいかわかりません。

メイン プロセスでボタンをクリックして DLL をロードして使用すると、AV が発生し、カスタム メッセージが表示され、エラーに関するマイナーなメッセージが表示されます。AV が発生した場合、デバッガーは介入しません。おそらく、エラーはより高いレベルでキャッチされます。

DLL のソース コードも添付して、それにブレークポイントを配置できればいいのですが。

その AV (その起源) に関する詳細情報を取得するにはどうすればよいですか?
(基本的に、このタイプのデバッグを行った人からのヒントは非常に役立ちます)。

4

1 に答える 1

1

C++ Builder で記述された DLL があります。DLL は「デバッグ情報」をオンにしてビルドされます。この DLL は別のプロセスでプラグインとして読み込まれるため、IDE から実行およびデバッグできません。

はい、できます。

IDE で DLL プロジェクトを開き、プロジェクトの実行パラメーターに移動して、目的の EXE をプロジェクトのホストとして設定します。このように、デバッグのために DLL プロジェクトを「実行」すると、IDE は代わりにホストを実行し、デバッガをそのプロセスにアタッチします。ホスト プロセスが DLL をメモリにロードすると、必要に応じて DLL のコードをステップ実行してデバッグできます。

デバッグを開始する前にホスト プロセスが既に実行されている場合は、ホスト プロセスが DLL をロードする前にデバッガをホスト プロセスに手動でアタッチするだけで、ホストが DLL をロードすると、デバッガは DLL のコードをステップ実行できます。メモリに。

于 2020-06-23T23:51:25.880 に答える