c++ - WinDbg 和内联函数

标签 c++ debugging stack windbg

我正在尝试调试故障转储,我想检查堆栈上某个变量的值。问题是一些方法已经内联在发布版本中,但我想转储它的变量 (dv)。

如果我转到堆栈帧并执行 dv 命令,它会显示该特定函数的所有变量,但不会显示内联调用中的变量。

我可以执行一个 uf(unassmeble 函数)命令来查看汇编代码,但是要弄清楚事情需要做很多工作。

最佳答案

在优化构建中通常不可能。 优化器可能决定不为变量分配内存,因此研究汇编代码以确定哪个寄存器是变量是唯一的方法。 此外,如果“忽略帧指针”开关打开,调试器将无法正确显示堆栈上分配的任何变量。

您可以尝试添加代码以将您感兴趣的变量记录到文件中。

关于c++ - WinDbg 和内联函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11983683/

相关文章:

c++ - VS 2013 OpenCV错误: Cannot find or open the PDB file

Release模式下的 C# 互斥量与 Debug模式下的行为不同

Java:Netbeans 调试 session 比正常运行速度更快

C中指针和整数的比较

c - 如何在Linux上的多线程下获取用户堆栈的底部

c++ - 在哪里可以找到有关使用 Microsoft Windows SLAPI 的更多信息?

c++ - 通过访问函数访问共享内存是否需要 `volatile`?

c++ - 如何在 "native c++"环境中使用 WinRT IAsyncOperation* 对象

python - 在 PyCharm 中运行 Python 脚本后如何保存变量值?

c++ - 使用库中的代码时变量周围的堆栈已损坏