奇妙な問題があります。
C ++ Visual Studio 2010で作成したdll(my.dllと呼びます)は、サードパーティのライブラリ(tp.libなど)を使用し、サードパーティのdll(tp.dllなど)を呼び出します。
目的をデバッグするために、configurationProperties-> debugging-> command:Excel.exeおよびconfigurationProperties-> debugging-> commandArguments: "$(TargetPath)"
私のコンピュータでは、path変数をtp.dllが存在するディレクトリにも設定しています。
Visual StudioでF5キーを押すと、Excelがmy.dllで開き、クラッシュして「dosモードで開くことができません」というエラーが表示されます。これが発生する理由は、my.dllのデバッグバージョンが展開されているときにtp.dllが展開されていないためです。
Excelのインスタンスを個別に開き、my.dllのデバッグバージョンを手動でドロップすると、すべてが正常に機能し、my.dllに書き込んだすべての関数を確認できます。
唯一の問題は、個別に開いたExcelのインスタンスにVisual Studioをアタッチする方法がわからないため、デバッグ方法がわからないことです。
私の質問は:
1>すでに開いているExcelのインスタンスにVisualStudioをアタッチするにはどうすればよいですか?
また
2> F5キーを押しながら、Excelがmy.dllの展開を開始する前に、PATH変数で指定されたディレクトリから必要なtp.dllを取得するようにするにはどうすればよいですか。
これら2つのいずれかを使用すると、デバッグの目的でコードをステップスルーできます。
前もって感謝します。