▪ tbreak temporary breakpoint ▪ rbreak reg-ex breakpoint ▪ break xxx if yyy conditionally break at xxx if condition yyy holds ▪ commands list of commands to be executed when a breakpoint is hit ▪
Ø 函数thread_command是被命令thread调用,切换当前线程最终调用的函数是switch_to_thread,这个函数会先将当前调试线程变量inferior_ptid,然后对寄存器和frame缓冲进行刷新。 Ø 函数thread_apply_command被命令thread apply调用,这个函数的实际实现其实很简单,就是先切换当前线为指定线程,然后调用函数execute_command调用...
shell <command string>调用UNIX的shell来执行,环境变量SHELL中定义的UNIX的shell将会被用来执行,如果SHELL没有定义,那就使用UNIX的标准shell:/bin/sh。(在Windows中使用Command.com或cmd.exe) 还有一个gdb命令是make:make <make-args>可以在gdb中执行make命令来重新build自己的程序。这个命令等价于shell make <make...
- reverse-finish: 参考finish,逆向执行,一直到函数入口处 - reverse-search(): 参考search,逆向搜索 - set exec-direction reverse: 设置程序逆向执行,执行完此命令后,所有常用命令如next, nexti, step, stepi, continue、finish等全部都变成逆向执行 - set exec-direction forward: 设置程序正向执行,这也是默认...
(gdb)command3 Type commandsforbreakpoint(s) 3, one per line. End with a line saying just"end". >p c >end (gdb) r Starting program: /home/zhongyi/code/example/gdb_example -e'p 1' In main(): x is 10 and is stored at 0x7fffffffe2ec. ...
Command class: breakpoints awatch -- Set a watchpointforan expressionbreak-- Set breakpoint at specified line orfunctionbreak-range -- Set a breakpointforan address range catch -- Set catchpoints to catch events catch assert -- Catch failed Ada assertions ...
-command command_file, -x command_file 指示GDB在启动时就执行文件中的命令 -batch 执行命令脚本后退出 初始化文件 在启动时,GDB通常会处理一个名为.gdbinit的初始化文件,GDB会在当前目录和home目录下寻找初始化文件(home目录的优先级高于当前目录)。
大多数复杂Linux 程序一样,GDB 是通过内部命令来完成调试工作的。help 命令可以例出 gdb 的命令种类,如果要看种类中的命令,可以使用 help <class> 命令,如:help breakpoints,查看设置断点的所有命令。也可以直接help <command>来查看命令的帮助。gdb 中,输入命令时,可以不用打全命令,只用打命令的前几个 ...
❝在command命令后加断点编号,可以定义断点触发后想要执行的操作。在一些高级的自动化调试场景中可能会用到。❞ 命令行 命令 作用 run arglist 以arglist为参数列表运行程序 set args arglist 指定启动命令行参数 set args 指定空的参数列表 show args 打印命令行列表 程序栈 命令 作用 backtrace [n] 打印栈...
在command命令后加断点编号,可以定义断点触发后想要执行的操作。在一些高级的自动化调试场景中可能会用到。 ❞ 命令行 程序栈 多进程、多线程 多进程 GDB在调试多进程程序(程序含fork调用)时,默认只追踪父进程。可以通过命令设置,实现只追踪父进程或子进程,或者同时调试父进程和子进程。