私はguiをdelphiで書いています。 私はcomアセンブリをcomから作りました。そして、私はそれをdelphiから呼び出しています。 私は.netアセンブリにステップインできません。 dllのコンパイル時にdelphi_project.exeを実行しましたが、delphi_project.exeが動作し始めました。 と.net dllのブレークポイントに到達できなくなりました。どうすれば修正できますか?デバッグ.netアセンブリのアンマネージコード
編集:
私はguiをdelphiで書いています。 私はcomアセンブリをcomから作りました。そして、私はそれをdelphiから呼び出しています。 私は.netアセンブリにステップインできません。 dllのコンパイル時にdelphi_project.exeを実行しましたが、delphi_project.exeが動作し始めました。 と.net dllのブレークポイントに到達できなくなりました。どうすれば修正できますか?デバッグ.netアセンブリのアンマネージコード
編集:
ULT VS2010は、それが原因でドットネットの仮想マシンの設計と、ことはできません。
ドットネットコードは、マシン上でネイティブではなく、仮想環境で実行されて管理されます。
Dotネットコードがコンパイルされていても(解釈することはできますが)、ネイティブのWindows実行ファイルに直接コンパイルされません。CILにコンパイルされ、CLRによってx86オペレーションコードに変換または変換されます。仮想環境内で実行されます。
これはセキュリティについて非常に信頼性が高く、RTTIやガベージコレクションのような高レベルのトリックを許可しますが、他のどのような処理でもありません。
実際のDelphi実行ファイル(Windowsの実行ファイル)をDotNetコードに渡すことはできません。 CまたはC++コード(すべてのデバッグ情報があり、それをBorland C++ビルダーでコンパイルした場合)で行うことはできますが、DotNetコードで行うことはできません。
DelphiのASMビュー(ショートカットはAlt-F2)で段階的にデバッグを試みることはできますが、mscoree.dllライブラリでは多くの時間を費やすことになり、DotNetのどの行かわからなくなりますあなたが実行しているプログラム。私はあなたが私のようになるだろうと思う:asmのコードで沈んで...私たちは人間であり、x86ではない!だからあなたのアプリケーションをデバッグする
:
最後のトリック:64ビットOSで問題なく実行するDotNetコードを作成したい場合は、アセンブリをto the right targetに設定しないでください。Delphiアプリケーションから実行すると、Delphiの実行可能ファイルはWow64内で実行されるためです。まだ32ビット。
EDIT:多分SOLUTION
いくつかの睡眠の後、アイデアは私のところに来た:デルファイIDEで、デバッグにプロセスを添付することができます。おそらく、Visual Studio IDEでも同じことが可能です。
これは実現可能です。IDEのいくつかのメニューから、実行中のプロセスにVisual Studioデバッガを接続することができます。
のVisual Studioデバッガは は、Visual Studioの外部で実行されているプロセスにアタッチする 能力を持っています。あなたは 次 を行うには、この添付機能を使用することができます。
- デバッグのVisual Studioで作成されていないアプリケーションを。
- 同時に複数のプロセスをデバッグします。 複数のプロセスをデバッグするには、 ソリューション内で 複数のプロジェクトを開始します。
- リモートコンピュータ上で実行中のプロセスをデバッグします。
- サービスまたは インターネットインフォメーションサービスで実行されているサービスのように、Visual Studioの を簡単に起動できない別のプロセスで実行されるDLLをデバッグします。
- Visual Studio以外で を実行しているときにプロセスがクラッシュしたときに、自動的にデバッガを起動します。これは Just-In-Timeデバッグです。
OPに言及する1つのツールはVSなので、これが役立つかどうかはわかりません。私の推測では、OPは.net DLLをVSでデバッグしようとしており、これが失敗しているということです。しかし、OPがいくつかの詳細を提供することを決定するまでは、すべての推測です。 –
私が理解したところには、COMとしてエクスポートされたDot Netライブラリでコード化されたロジックを呼び出すDelphi GUIアプリケーションがいくつかあります。彼はDot Netライブラリをデバッグしたいと思っていますが、Delphi IDEからはできません。そこで彼はVS IDEからデバッグしたかったのです。私は可能な解決策で私の答えを編集しました。 –
あなたはどのようなデバッガを使用していますか? – JaredPar
vs 2010最終的な – eba
ご利用いただいているツールを教えてください。デルファイ。ネット?ネイティブDelphi?デルファイのプリズム? Visual Studio?そして、どのデバッガですか? –