C++ 在上使用帧指针优化进行调试

C++ 在上使用帧指针优化进行调试,c++,visual-studio,debugging,C++,Visual Studio,Debugging,启用FPO时,调试器如何获取堆栈信息? 我在某处读到.pdb文件包含调试器用来获取堆栈信息的FPO信息。那么,pdb文件包含哪些帮助调试器获取堆栈跟踪的内容呢 例如,调试器遇到了断点,并且有ESP和pdb文件。那么,调试器如何显示调用堆栈呢?堆栈信息存储在可执行文件的.pdata部分。 请看这里: 在这里: 因此,调试器可以通过在.pdata部分中查找展开信息来查找当前代码的位置并确定当前函数的堆栈布局。然后它可以确定返回地址,并使用返回到的函数重复此过程,等等。。。创建堆栈跟踪。如果使用deb

启用FPO时,调试器如何获取堆栈信息? 我在某处读到.pdb文件包含调试器用来获取堆栈信息的FPO信息。那么,pdb文件包含哪些帮助调试器获取堆栈跟踪的内容呢


例如,调试器遇到了断点,并且有ESP和pdb文件。那么,调试器如何显示调用堆栈呢?

堆栈信息存储在可执行文件的.pdata部分。 请看这里: 在这里:


因此,调试器可以通过在.pdata部分中查找展开信息来查找当前代码的位置并确定当前函数的堆栈布局。然后它可以确定返回地址,并使用返回到的函数重复此过程,等等。。。创建堆栈跟踪。

如果使用debug=on编译,则不需要堆栈告诉您,您在哪里-debug build可以创建自己的堆栈跟踪