gpt4 book ai didi

GDB 命令打印段错误的完整异常信息?

转载 作者:行者123 更新时间:2023-12-01 15:27:46 26 4
gpt4 key购买 nike

我正在 GDB 下调试优化的 Linux 可执行文件。我们的程序因段错误而崩溃。然而,错误指令似乎并未实际访问无效指针;它基本上是一个 mov 0xf00(%ebx), eax op 其中 0xf00(%ebx) 是有效内存。至少,它出现在我们 x它的地址。

查看当前捕获的异常的所有详细信息的 GDB 命令是什么,包括错误操作码试图访问的确切内存地址?此信息应该在异常陷阱帧中,但我不知道如何通过 GDB 获取该信息。

这适用于 Ubuntu 下的 x86。

最佳答案

However the faulting instruction doesn't seem to actually access an invalid pointer; it is basically a mov 0xf00(%ebx), eax op where 0xf00(%ebx) is valid memory. At least, it shows up when we x its address.



我猜这个地址实际上是无效的( mmapPROT_NONE 编辑)。

GDB 可以检查它的原因是在 Linux 上, ptrace (GDB 使用它来访问劣质内存)会很高兴地从这些地址读取,而应用程序本身则不能。

What is the GDB command to view all details on the currently caught exception



试试 print $_siginfo当 GDB 随着信号停止时。文档 here .

关于GDB 命令打印段错误的完整异常信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11148487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com