在GDB中的特定地址设置待处理的断点

时间:2019-10-30 00:05:04

标签: debugging gdb symbols reverse-engineering breakpoints

我有一个没有源代码或符号的应用程序。我想在运行一段时间后加载的模块中设置断点。每次(0x500000)都将模块加载到相同的基地址。我想在运行应用程序之前在此模块内设置断点,因为我希望避免查找二进制文件中的哪条指令会加载模块并在那里设置断点的工作。

我知道GDB中的待处理断点,如果我说break code.c:53break function,GDB会尝试将其评估为一个地址,如果不能,则将其标记为待处理并尝试重新评估每当加载新模块时。我当前的问题是,此功能似乎不适用于绝对地址。如果我想break 0x501000,即使没有地址空间跨越0x501000的模块,GDB也不会将其标记为待处理。

我的问题是:我可以在特定地址设置断点,但告诉GDB等待该模块加载吗?

1 个答案:

答案 0 :(得分:0)

是的,命令是“ b * 0x1234”