4

私は VS 2008 で作業しており、1 つのソリューションに 3 つのプロジェクトがあります。サードパーティのアプリ (SalesLogix、CRM アプリ) によって呼び出される .net プロセスにアタッチしてデバッグしています。

プロセスにアタッチされ、プロジェクトの 1 つにブレークポイントを設定しようとすると、そのファイルにブレークポイントが設定されません。実際には、現在のタブを別のプロジェクトの別のファイルに切り替え、そのドキュメントにブレークポイントを設定します。ファイルが開いていない場合でも、開いてくれます。これは説明できません。手がかりがありません。そのような奇妙な行動を見た人はいますか?自分の目で見ないと信じられない。

もう少し情報:アタッチする前にブレークポイントを設定すると、「赤い点」が表示され、シンボルがロードされていないと表示されます...問題ありません...私はそれを期待しています。SalesLogix から .net コードをアタッチして呼び出し、VS に戻すと、ブレークポイントが完全になくなります (ソースがデバッグ ファイルと一致しないという警告も表示されません)。デバッグ ファイルを手動でロードしようとすると、シンボル ファイルがモジュールと一致しないというメッセージが表示されます。.pdb と .dll のタイムスタンプは同じなので、困惑しています。

誰にもアイデアはありますか?

どうも、

ジェフ

4

2 に答える 2

4

この機能は、古いバージョンの VS.Net (2003 年だと思います) で見ました。現在のバージョンにはまだ存在する可能性がありますが、私は遭遇していません。異なるディレクトリにある場合でも、同じ名前のファイルはVS.Netを混乱させ、同じ名前のファイルにブレークポイントを設定してしまうようです。ファイル内のクラスが両方とも同じ名前である場合にのみ発生する可能性があります。私が推測する名前空間についてはこれで終わりです。

また、ビルド構成をチェックして、すべてのプロジェクトが実際にデバッグ モードでビルドされていることを確認することもできます。ソリューションのために構成が何らかの形で変更され、一部のプロジェクトがデバッグモードでコンパイルされなかったときに、私は数回捕まったことを知っています。

于 2008-08-28T00:34:39.363 に答える
0

キビー、あなたは正しかった!異なるフォルダにある同じ名前の 2 つのファイルでした。58行目の正しいファイルにブレークポイントを設定していました-58行目の他のファイルにブレークポイントを設定していました.「デバッグ-->新しいブレークポイント-->関数でブレーク」を使用して、最終的にブレークポイントを設定できました名前」メニューオプションと自分の機能名を入力します。その時と同じように止まりました。

私は同意します-名前空間についてはそれほどですよね?くそー事は私に数時間かかりました。ああ、まあ...少なくともそれは解決されました、そして私はその理由を知っています.

答えてくれてありがとう、マットの返事もありがとう!

于 2008-08-28T01:19:13.733 に答える