用于打印分段故障的完整异常信息的GDB命令?
我正在GDB下调试一个优化的Linux可执行文件。我们的程序因分段错误而崩溃。但是,出错指令似乎并没有实际访问无效指针;它基本上是一个用于打印分段故障的完整异常信息的GDB命令?,gdb,x86,Gdb,X86,我正在GDB下调试一个优化的Linux可执行文件。我们的程序因分段错误而崩溃。但是,出错指令似乎并没有实际访问无效指针;它基本上是一个mov0xf00(%ebx),eaxop,其中0xf00(%ebx)是有效内存。至少,当我们x它的地址时,它就会出现 GDB命令是什么来查看当前捕获的异常的所有详细信息,包括出错操作码试图访问的确切内存地址?这个信息应该在异常陷阱框架中,但我不知道如何通过GDB获取 这是用于Ubuntu下的x86 但是,出错指令似乎并没有实际访问无效指针;它基本上是一个mov 0
mov0xf00(%ebx),eax
op,其中0xf00(%ebx)是有效内存。至少,当我们x
它的地址时,它就会出现
GDB命令是什么来查看当前捕获的异常的所有详细信息,包括出错操作码试图访问的确切内存地址?这个信息应该在异常陷阱框架中,但我不知道如何通过GDB获取
这是用于Ubuntu下的x86
但是,出错指令似乎并没有实际访问无效指针;它基本上是一个mov 0xf00(%ebx),eax op,其中0xf00(%ebx)是有效内存。至少,当我们x它的地址时,它会出现
我猜地址实际上是无效的(mmap
ed withPROT\u NONE
)
GDB可以检查它的原因是,在Linux上,ptrace
(GDB使用它来访问劣质内存)将愉快地从这些地址读取数据,而应用程序本身却不能
要查看当前捕获的异常的所有详细信息,GDB命令是什么
当GDB停止发送信号时,请尝试打印$\u siginfo。文档。崩溃本身被证明是未对齐的SIMD读取;地址有效,但未对齐。