一部の Delphi 2009 コードから呼び出される、ネイティブ エクスポートを備えた C# DLLがあります。Delphi コードはLoadLibrary
、 とを使用しGetProcAddress
て、エクスポートされた関数にアクセスします。実行時にコードのマネージ部分をデバッグしたいのですが、問題が発生しています。
アプリケーションを起動すると、ブレークポイントは正しく表示されますが、ヒットしません。
私の現在の設定は次のとおりです。
- Visual Studio 2010 の C# DLL プロジェクト
- プロジェクトのデバッグ設定を「外部プログラムの開始」に設定し、Delphi 実行可能ファイルを指定します。
- アンマネージ コードのデバッグを有効にすると、オフになります。
- デバッグオプションでマイコードのみが有効になっています(これは違いがないようです)
アンマネージ コードのデバッグを有効にしようとしましたが、「バイナリはデバッグ情報なしでビルドされました」というエラーが発生します。続行すると、すべてのブレークポイントが無効になります。
モジュール リストを確認すると、実行可能ファイルにはデバッグ シンボルが含まれていません。Delphi は PDB を生成しませんが (クローズド スペックの独自フォーマットであるため生成できません)、代わりに MAP ファイルを生成します。MAP から PDB へのコンバーター ツールを探してみましたが、必要なものの逆を行うためのツールしかないようです。
Visual Studio から Delphi コードをデバッグすることにはあまり興味がありません。CodeGear Delphi IDE で既に実行できるためですが、この状況で実行時にマネージ コードをデバッグする方法はありますか?