1

Visual Studio2010を使用してC++プロジェクトをデバッグする場合、crtのソースが見つかりません。そのようなモジュールの内部に入ろうとすると、「利用可能なソースがありません」と表示されます。またBrowse、ソースの場所を見つけるのを手伝うことができるようにするためのオプションも提供していません。

[オプションソリューション]->[共通プロパティ]->[デバッグソースファイル]で、crtソースの適切な場所が更新されます。

crtのソースレベルのデバッグがないため、分解を読み通す必要がありますが、これは難しくなっています。

誰かが私が何がうまくいかないのかを理解するのを手伝ってもらえますか?

注意してください**私はC++プロジェクトをビルドするためにVisualStudioを介して外部ビルドシステムを使用しています。

ここでハンスの指導を受けて、私はどのように問題に絞り込んだのか。

ブレークポイントがまだアクティブな間に、すべてのシンボルロード情報をリストしました。msvcr100d.i386.pdb私はそれがdllと一致しないことに気づきました。それは実際には、当然のことながらシンボルが取り除かれたマイクロソフトのパブリックシンボルストアからフェッチするためにずっと下がっていました。それが私の問題の根本的な原因でした。

そしてここにsocial.msdnの同様の問題があります

4

2 に答える 2

1

ブレークがアクティブなときにデバッグ+Windows+モジュールを使用すると、問題の原因を確認できます。msvcr100d.dllを右クリックし、[シンボルロード情報]を選択して、デバッガーが使用する.pdbに関する情報を取得します。

何らかの理由で、Microsoft Symbol Serverは、ソース情報が削除されたものを提供しています。これはおそらく意図的なものであり、DLLのサービスパッチとセキュリティパッチがvc / crt/scrのソースコードと同期しなくなったことと関係があります。connect.microsoft.comに投稿することで、推測ではなく実際の答えを得ることができます。

ある種の回避策は、可能であれば、/MDdではなく/MTdを使用してコードをコンパイルすることです。プロジェクト+プロパティ、C / C ++、コード生成、ランタイムライブラリ設定。その後、デバッガーはvc/lib内の.pdbファイルを使用します。ボールに目を光らせて、CRTの代わりにコードをデバッグしてください。

于 2012-04-04T12:07:57.347 に答える
0

CRTのソースは、インストールフォルダーのサブフォルダーVC \ CRT\SRCにあります。

それらがない場合は、VS2010のインストール時にインストールしましたか?(本当にこれを選択できるかどうかはわかりません)。

于 2012-04-04T09:18:18.113 に答える