0

Visual Studio 2010 から C/C++ ネイティブ DLL プロジェクトをデバッグしようとしています 。 .aspx

組み込みのデバッガーを使用して、通常の .exe プロジェクトで行うように、コードをステップ実行したり、構造を調べたりしたいと考えています。上記のページの説明では、表示されない構成プロパティの下のデバッグカテゴリについて説明しています。

http://img707.imageshack.us/img707/4402/lalasz.png

F5 キーを押してデバッグすると、次のエラーが発生します。

プログラム 'C:\Users.......Test.dll' を開始できません

通常の .exe プロジェクトにデバッガーを何度も使用しましたが、このコンピューターでは問題なく動作します。私は今、非常に明白な何かを見逃しているのかどうかはわかりません。

編集: 最初から明確にしていないので、Visual Studio で DLL をスタブ プロセスに LoadLibrary し、そこからソース レベルでデバッグできるようにしたいと考えています。

私の DLL は、エクスポートして呼び出す関数の束を保持するタイプではありません。代わりに、DllMain で switch/case を実行し、DLL_PROCESS_ATTACH で新しいスレッドを生成します。したがって、Visual Studio で行う必要があるのは、DLL をスタブ実行可能ファイルにロードし、ブレークポイントなどを設定できるようにすることだけです。

4

4 に答える 4

3

おそらく、スタートアップ プロジェクトとして、dll を生成するプロジェクトを持っているでしょう。

2 つの選択肢があります。スタートアップ プロジェクトを、その DLL を使用する実行可能ファイルを生成する別のプロジェクトに変更するか、プロジェクト プロパティから dll プロジェクトのデバッグ設定を構成して、その dll を使用する外部アプリケーションを開始します ([プロジェクト プロパティ]、[デバッグ]、[コマンド] )。

于 2010-09-07T19:38:40.923 に答える
3

ネイティブ DLL はスタンドアロンで実行できません。何らかのプログラムのコンテキストで実行する必要があります。参照した手順ページのこの部分を参照してください。

「DLL を作成するプロジェクトからデバッグを開始する場合は、DLL のデバッグに使用する実行可能ファイルを指定する必要があります。」

于 2010-09-07T19:38:52.920 に答える
1

ソリューション エクスプローラー ウィンドウでソリューション名を右クリックし、ソリューションのプロパティを取得しました。ウィンドウに「Solution Test Property Pages」と表示されていることに注意してください。

プロジェクト オプションを設定するには、代わりにプロジェクト名 (太字のテスト) を右クリックします。

于 2010-09-07T19:38:55.090 に答える
0

マネージド プロジェクトからもこの問題が発生します。Visual Studio が伝えているのは、DLL を実行できないということです。これは、エクスプローラーから DLL をダブルクリックしてプログラムを実行できないのと同じです。

DLL をデバッグするには、DLL から関数を呼び出してコードを実行する小さなコンソール アプリケーションを作成します。DLL に関数がある場合は、コンソール アプリケーションからfoo()呼び出します。ソリューション エクスプローラーでプロジェクト名を右クリックし、そのオプションを選択して、コンソール アプリケーションを「スタートアップ」プロジェクトとして設定します。foo()main

次に、F5 キーを押すと、DLL を呼び出すコンソール アプリケーションが実行されます。

于 2010-09-07T19:40:42.087 に答える