Linux编程_gdb
基本调试命令
| 命令 | 命令缩写 | 命令说明 |
| set args |
设置主程序的参数 例如:ta_tranf 20210127 099 设置参数的方法是: gdb ta_tranf (gdb) set args 20210127 099 |
|
| break | b |
设置断点,b 20 表示在第20行设置断点,可设置多个断点 |
| run | r |
开始运行程序,程序运行到断点位置会停下来,如果没有遇到断点,程序会一直运行下去 |
| next | n |
执行当前语句,如果当前语句为函数调用,不会进入函数内部。 |
| p |
显示变量的值,例如 p name ,表示显示变量name的值。 |
|
| step | s |
执行当前语句,如果该语句为函数调用,则进入函数执行第一条语句。 注意了,如果函数是库函数或是第三方提供的函数,用s也是进不去的,因为没有源代码,如果是自己定义的函数,有源代码就能够进去。 |
| continue | c |
程序继续执行,知道遇到下一个断点。 |
| set var name=value |
设置变量的值,假设程序有两个变量,int i;char name[20]; set var ii = 10; set var name="哈哈";注意不是strcpy |
|
| quit | q |
退出gdb环境 |
gdb调试多进程
调试父进程:set follow-fork-mode parent (缺省)
调试子进程:set follow-fork-mode child
设置调试模式:set detach-on-fork [on|off],缺省是on,表示调试当前进程时其他进程继续运行。如果是off调试当前进程时,其他进程被gdb挂起。
查看调试的进程:info inferios
切换当前调试的进程:inferior 进程id
gdb调试多线程
使用日志方式调试多进程和多线程程序
posted on 2021-01-27 21:23 XiaoXiaoli 阅读(82) 评论(0) 收藏 举报
浙公网安备 33010602011771号