炸弹项目中的GDB中断线

炸弹项目中的GDB中断线,gdb,breakpoints,compiler-flags,Gdb,Breakpoints,Compiler Flags,我有一个CS项目,我需要扩散一个炸弹(邪恶的炸弹先生,如果你听说过的话),但我有问题与gdb当我想设置断点线。在gdb中打开文件并尝试随机断开一行后,我遇到以下问题: gdb bomb (gdb) break 15 No symbol table is loaded. Use the "file" command. 此外,即使使用“file”命令,我也会 "/auto/bunter_usr/bomb": not in executable format: File format n

我有一个CS项目,我需要扩散一个炸弹(邪恶的炸弹先生,如果你听说过的话),但我有问题与gdb当我想设置断点线。在gdb中打开文件并尝试随机断开一行后,我遇到以下问题:

 gdb bomb 
 (gdb) break 15
 No symbol table is loaded.  Use the "file" command.
此外,即使使用“file”命令,我也会

 "/auto/bunter_usr/bomb": not in executable format: File format not recognized

我意识到问题是因为我的教授在编译文件时没有使用-g标志。在这种情况下,有没有办法为行设置断点?

您需要取消二进制文件的组装,检查内存位置,并为这些位置设置断点

以下是您将如何操作:gdb>b*0x80456789

这里有一张备忘单供参考
您需要卸载二进制文件,检查内存位置,并为这些位置设置断点

以下是您将如何操作:gdb>b*0x80456789

这里有一张备忘单供参考

“/auto/bunter\u usr/bomb”:非可执行格式:无法识别文件格式
我意识到问题是因为我的教授没有使用-g标志

你的认识是错误的。没有
-g
编译的可执行文件将不会生成上述消息

最有可能的是,您指向GDB的文件是一个shell脚本,它调用真正的可执行文件(可能是在设置一些环境变量或添加一些命令行标志之后)。您想要调试真正的可执行文件,而不是shell脚本

“/auto/bunter\u usr/bomb”:非可执行格式:无法识别文件格式
我意识到问题是因为我的教授没有使用-g标志

你的认识是错误的。没有
-g
编译的可执行文件将不会生成上述消息


最有可能的是,您指向GDB的文件是一个shell脚本,它调用真正的可执行文件(可能是在设置一些环境变量或添加一些命令行标志之后)。您想要调试真正的可执行文件,而不是shell脚本。

我必须ssh到另一个帐户才能运行itI,我必须ssh到另一个帐户才能运行它