我希望获取导致外部程序SIGSEGV的指令地址。我尝试使用ptrace,但是从内核空间(可能是默认信号处理程序?)获取EIP。GDB如何能够获取正确的EIP?
是否有一种方法可以通过某些API使GDB提供此信息?
编辑: 我没有程序的源代码,只有二进制可执行文件。我需要自动化,所以不能简单地在GDB中使用“run”、“info registers”。我想在自己的迷你调试器中实现“info registers” :)
是否有一种方法可以通过某些API使GDB提供此信息?
编辑: 我没有程序的源代码,只有二进制可执行文件。我需要自动化,所以不能简单地在GDB中使用“run”、“info registers”。我想在自己的迷你调试器中实现“info registers” :)