1

説明

私のプロジェクトには少し問題があります。C# で書かれたプログラムにロードされた dll (MASM で書かれたもの) をデバッグできません。dll のプロシージャのさまざまな場所にブレークポイントを残しますが、何も起こりません。プログラムの実行は、停止することなく手順を実行するだけです。

私は Visual Studio 2010 を使用しており、ソリューションの構造は次のとおりです。

Solution
|
+--+ the masm dll project
|  |
|  +- *.asm 
|  |
|  +- *.def
|
+--+ C# dll library poject 
|  
+--+ my C# project

したがって、dll のソース コードにアクセスでき、そのプロジェクトは、呼び出し元のプロジェクトと同じソリューション内にあります。

ただし、C# ライブラリ プロジェクト内にブレークポイントを設定すると機能します。

それでも、このバガーをデバッグできません。誰でも問題の解決策を教えてもらえますか?

解決

カムフォード提供

管理されていない dll (masm、nasm などだけでなく) をデバッグできるようにするために必要なのは、管理されていないコードのデバッグを有効にすることだけです。

アンマネージ コードのデバッグを有効にするには

  1. ソリューション エクスプローラーでプロジェクトを選択し、[プロジェクト] メニューの [プロパティ] をクリックします。
  2. [デバッグ] タブをクリックします。
  3. [アンマネージ コードのデバッグを有効にする] チェック ボックスをオンにします。

ここから)

4

1 に答える 1

1

C# プロジェクトの [デバッグ] 設定でアンマネージ コードのデバッグを有効にする必要があります。それでもうまくいかない場合は、asm コードがあるため、asmint 3にハードコードされたブレーク命令として挿入し、dll を再構築できます。

于 2013-01-27T14:34:22.323 に答える