GBD调试器

it2023-06-22  73

GDB的使用

先编译程序:gcc 源文件名 -o 可执行文件名 -g进入gdb调试环境:gdb 可执行文件运行文件:run/r(一次运行完),start(单步运行)单步运行:next/n单步运行(可以进入函数体内部):step/s从函数体中跳出:finish查看代码:list/l,l 文件名:行号/函数名,l 行号/函数名继续向下查看内容:l (因为每次只显示10代码)设置断点:break/b 行号/函数名,b 文件名:行号/函数名设置条件断点:b 行号 if value == number删除断点:delete/d 断点编号获取断点编号:info/i b退出当前循环:u查看变量的值:p 变量名查看变量类型:ptype 变量名设置变量的值:set var 变量名 = 值追踪变量:display 变量取消追踪:undisplay 变量编号退出gdb:quit每次调试停在断点位置:continue/c

GDB调试在进程中的使用

打开gdb时,默认调试父进程,或指定set follow-fork-mode parent,此命令在fork调用之前执行。调试子进程时:先start,再set follow-fork-mode child,然后用n继续调试,执行子进程时,父进程直接输出结果。跟踪指定的子进程:先在第n个子进程的入口处用带有if条件语句break语句打断点,然后set follow-fork-mode child
最新回复(0)