c++ - 如何在 x64 Windows 下跟踪调用堆栈?

标签 c++ c debugging assembly 64-bit

在x64 Windows下,返回地址不存储在rbp中;那么,如何追踪调用栈呢?

另一个相关问题:

由于前四个参数是通过rcxrdxr8r9传递的,应该如何我通过堆栈跟踪检索它们? (特别优化编译。)

最佳答案

您可以使用 Windows 函数 CaptureStackBackTrace。参见 How to Log Stack Frames with Windows x64获取更多信息和代码引用。

关于c++ - 如何在 x64 Windows 下跟踪调用堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18889376/

相关文章:

c++ - 使用共享库的后果是打开另一个具有不同构建类型的共享库

c++ - 使用 gethostbyname() 提取 IP 数据

c - STDERR 重定向到日志文件在删除日志文件时中断

将 4 个整数拼接成一个整数

javascript - 找不到此 JavaScript 代码中的错误所在。对 'class'语法不太熟悉

c++ - 为什么这个 for 循环不会中断

c++ - 是否可以在 C++11 中创建每个实例的 mixin?

计算小于 n 的最大 2 次方

c - 使用 Visual Studio 2010 调试与汇编代码链接的 C 代码

c++ - 如何为 Visual Studio 2012 调试器编写自定义 native 可视化工具 DLL?