首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >坏的RIP值是什么意思?

坏的RIP值是什么意思?
EN

Unix & Linux用户
提问于 2020-12-03 06:44:00
回答 1查看 15.7K关注 0票数 7

在一个常见的调用跟踪中,我们可以检查RIP以知道哪些代码崩溃了。

但在某些调用跟踪中,它显示了不良的RIP值:

代码语言:javascript
复制
[ 86.414392] RIP: 0010: (null)
[ 86.415351] Code: Bad RIP value.

例:

https://bugzilla.kernel.org/show_bug.cgi?id=202827

Bad RIP value是什么意思?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-12-03 14:18:20

"RIP“是CPU的64位指令指针寄存器。它的值决定CPU将从中获取要执行的下一条指令的地址。

(在x86体系结构中,原来的16位指令指针被(现在仍然是)称为IP;当体系结构扩展到32位时,会添加E前缀来注册名称以表示32位宽的访问,而在x86_64中,R前缀被添加以指示完整的64位访问。

“坏RIP值”意味着指令指针寄存器指向不包含可执行内存的地址。这表明错误,例如在尝试使用指针之前没有正确初始化指向函数的指针,或者可能在堆栈中覆盖函数的返回地址,因此RET机器代码指令最终会试图返回错误的地址。

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

https://unix.stackexchange.com/questions/622673

复制
相关文章

相似问题

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