我应该对pdb行号多少信任?

时间:2012-11-19 08:53:44

标签: windows windbg

我正在从转储中调试Windbg中的问题。我有正确的pdbs,我可以非常愉快地查看当地人等。但是,我所拥有的源代码(我从这个版本中推出的VCS分支中提取出来的代码)似乎在我正在查看的堆栈的某些部分中被几行所关闭。我已经看到过它之前的1个实例,但不是3/4线。

是什么原因引起的?有没有确定的方法可以检查我是否有正确的源文件?

1 个答案:

答案 0 :(得分:2)

您是在查看发布代码的调试版还是非优化版? 代码优化可能会导致您看到的行换班,因此您应该将/Od C ++优化设置为'禁用'进行重新编译,看看这是否会纠正您所看到的内容。

WinDbg使用与Visual Studio相同的方法来检查您正在查看/设置断点的源文件是否与pdbs匹配,因此它应该警告您(我认为这样做我无法验证)。

此外,您可以使用以下方式验证pdbs(如果不是源文件):

!itoldyouso myDLL

另外你可以在另一个窗口中打开源文件,在步进期间它应该在它认为当前调用所在的行处放置洋红色线,这应该是正确的并且与visual studio的行为相同。