如何编写Linux GDB命令?执行3行代码遇函数不进入的GDB命令是什么?
Linux环境下编写GDB命令的方法
- 交互模式直接输入:启动GDB(
gdb <目标程序路径>)后,在(gdb)提示符后直接输入命令,比如break main、run等。 - 编写GDB脚本文件:把常用命令写入文本文件(比如
debug_cmds.gdb),示例内容:
启动时加载脚本:file ./my_app break main set args input.txt rungdb -x debug_cmds.gdb,或在GDB交互中用source debug_cmds.gdb执行脚本。 - 命令行一次性传递命令:启动GDB时通过
-ex参数指定命令,多命令用多个-ex,比如:gdb -ex "break main" -ex "run" -ex "next 5" ./my_app - 自定义命令别名:在GDB中用
define创建自定义命令,示例:
输入define start_debug break main run next 3 endstart_debug即可执行预设命令,将该定义写入~/.gdbinit可实现永久生效。
GDB中执行3行代码但不进入函数的命令
使用next 3(可缩写为n 3)。next命令会单步执行代码,遇到函数调用时直接跳过函数执行(不会进入函数内部),后缀数字表示连续执行指定行数的代码。
内容的提问来源于stack exchange,提问作者JS H
相关产品推荐
相关产品推荐

