【发布时间】:2021-04-01 05:39:46
【问题描述】:
我有两个文件:
bomb.c 和 bomb(可执行文件)。在.c 文件中有对bomb 文件的调用。我看不到炸弹文件的内部,当然只有反汇编。
我目前在 Linux 上运行,我正在尝试设置一些断点以更好地了解炸弹文件的内部。
我愿意:
gdb bomb
b 0x0000000000401061
但它不起作用,因为我收到错误:
Function "0x0000000000401061" not defined.
从bomb 的反汇编中,我能够识别出一些功能,如果可以的话:
b [function name]
断点已设置。
我希望将它设置为一个特定的行,这不是一个函数。 我该怎么做?
【问题讨论】:
-
为什么只能看到反汇编?不能用调试符号编译吗?
-
gdb -g bomb.c -o bomb; gdb bomb;在 gdb 内部,执行break bomb.c:45在第 45 行设置断点。 -
这能回答你的问题吗? Set breakpoint at specific line with gdb
-
@WilliamPursell 如果我编写该命令,我会得到:
unrecognized option -g -
@ucei 抱歉,应该是
gcc -g bomb.c -o bomb。您需要使用调试符号进行编译
标签: linux debugging gdb breakpoints disassembly