首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >给定弹性公网eip时访问ebp

给定弹性公网eip时访问ebp
EN

Stack Overflow用户
提问于 2010-11-16 00:40:24
回答 2查看 1.1K关注 0票数 1

我正在尝试开发一个运行时堆栈跟踪器。我有一个函数,每当被跟踪的程序出现段错误时,它都会返回EIP地址。我怎样才能回到当前函数的ebp (被观察的程序崩溃的那个函数),这样我才能开始追踪?

EN

回答 2

Stack Overflow用户

发布于 2010-11-16 00:54:29

无法将指令指针转换为堆栈帧指针。可以使用不同的堆栈地址多次(甚至是递归地)调用相同的函数;这就是拥有调用堆栈的意义所在。如果您有崩溃转储文件(核心文件等)它应该包含所有寄存器的转储。如果你想要寄存器值,你必须从这里读取它们。

票数 5
EN

Stack Overflow用户

发布于 2010-11-16 03:09:36

在段错误发生时的当前ebp和esp (以及所有其他寄存器)在ucontext中可用,ucontext作为第三个参数传递给信号处理程序。ucontext中内容所在位置的详细信息取决于操作系统和CPU。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4186653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档