我正在尝试调试故障转储,我想检查堆栈上某个变量的值。问题是一些方法已经内联在发布版本中,但我想转储它的变量 (dv)。
如果我转到堆栈帧并执行 dv 命令,它会显示该特定函数的所有变量,但不会显示内联调用中的变量。
我可以执行一个 uf(unassmeble 函数)命令来查看汇编代码,但是要弄清楚事情需要做很多工作。
最佳答案
在优化构建中通常不可能。 优化器可能决定不为变量分配内存,因此研究汇编代码以确定哪个寄存器是变量是唯一的方法。 此外,如果“忽略帧指针”开关打开,调试器将无法正确显示堆栈上分配的任何变量。
您可以尝试添加代码以将您感兴趣的变量记录到文件中。
关于c++ - WinDbg 和内联函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11983683/