2

現在、Windbgの問題をダンプからデバッグしています。私は正しいpdbを持っており、地元の人たちなどをとても楽しく見ることができます。ただし、私が持っているソースコード(このリリースの元となったと思われるVCSブランチから取得したもの)は、私が見ているスタックの一部で数行ずれているように見えます。以前に1だけずれている例を見たことがありますが、3/4行はずれていません。

これの原因は何ですか?適切なソースファイルがあることを確認するための明確な方法はありますか?

4

1 に答える 1

2

リリースコードのデバッグバージョンまたは最適化されていないバージョンを見ていますか?コードの最適化により、表示されている行シフトが発生する可能性があるため、/ Od C ++最適化を「無効」に設定して再コンパイルし、これによって表示内容が修正されるかどうかを確認する必要があります。

WinDbgは、Visual Studioと同じ方法を使用して、ブレークポイントを表示/設定しているソースファイルがpdbと一致するかどうかを確認するため、警告が表示されます(これは確認できません)。

さらに、以下を使用して、ソースファイルでない場合はpdbを確認できます。

!itoldyouso myDLL

さらに、ステッピング中にソースファイルを別のウィンドウで開くことができ、現在の呼び出しが行われていると思われる行にマゼンタの行を配置する必要があります。これは正しく、VisualStudioと同じように動作する必要があります。

于 2012-11-19T09:19:17.177 に答える