0

私はこの質問に対する答えを見つけようとしてネットを精査してきましたが、他のすべての提案は機能しません。

別のプログラムへのアドインであるC#.net3.5dllがあります。ユーザーが特定のボタンを押すと、プログラムはdllを呼び出します。私のツールには、ユーザーのコンピューターの特定のセットアップに関連するエラーがあります(私のツールでは再現できません)ので、リモートデバッグしたいと思います。

リモートPCでデバッグツールをセットアップし(2010年ですが、VS 2008でも同じ結果を試しました)、DLLを実行します。次に、[デバッグ]> [プロセスにアタッチ]に移動し、リモートPCを選択し、dllをホストするexeファイル「Revit.exe」を選択すると、正常にアタッチされます。しかし、シンボルがロードされていないと表示されているため、ブレークポイントなどを設定することはできません。(/が付いた赤い塗りつぶされていない円!)

モジュールウィンドウを開き、DLL'PLT2.dll'を右クリックして、シンボルパスからシンボルをロードしようとすると、DLLのすぐ隣のネットワークドライブにあるPDBファイルを選択します。モジュールと一致します。

私はネット上で見つけた提案に基づいて以下を試しました:

  • コードが最適化するように設定されていないこと、および出力デバッグ情報が完全に設定されていることを確認しました。
  • PDBファイルはDLLと完全に一致しているので、それらをすべて削除して再構築しました。
  • 両方のコンピューターのシンボルへのパスは同じです
  • マイコードだけを有効にする

誰かが私に何ができるかについて何かアイデアを持っていますか?

4

1 に答える 1

0

リモート マシンが別のバージョンのバイナリを取得している可能性はありますか?

[シンボル設定] ダイアログで追加したすべての情報を削除した場合、モジュール ウィンドウには、読み込まれているバイナリがどのパスから表示されますか?

于 2010-08-30T18:28:04.177 に答える