GDB学习笔记(一)--常用命令
2017-04-30 21:21
375 查看
GDB学习笔记(一)–常用命令
启动gdb
gdb test // 使用gdb调试test程序
运行
run // 开始运行。 run arg1 arg2 arg3 ... // 开始运行,并传入命令行参数。 run 可简写为 r。
查看代码
list // 显示10行代码。 list line // 显示第line行附近的10行代码。 list n,m // 显示第n行至第m行之间的代码。 list ,n // 显示第n行及其前面的10行代码。 list fun // 显示fun()函数附近的10行代码。 list file:fun // 显示file文件中fun()函数附近的10行代码。 list 可简写为 l。
断点
break n // 在第n行设置断点。 break fun // 在fun()函数处设置断点。 break file:n // 在file文件中第n行设置断点。 break file:fun // 在file文件中fun()函数处设置断点。 break if condition // 当condition条件成立时,停止程序。 info break(i b) // 查看断点。 watch expr // 监视expr的值,expr可以是变量,也可以是表达式。若expr发生改变,停止程序。 delete n // 删除编号为n的断点。 break 可简写为 b。 delete 可简写为 d。
单步调试
continue // 运行至下一个断点。 step // 单步跟踪,进入函数。 next // 单步跟踪,不进入函数。 finish // 运行程序,直到当前函数完成返回。 打印函数返回时的堆栈地址,返回值以及参数值(finish不可用于main())。 until // 运行程序,直到退出循环体。 continue 可简写为 c。 step 可简写为 s。 next 可简写为 n。
数据的值
ptype x // 查看变量x的类型 print expr // 查看expr的值,expr可以是变量,也可以是表达式。 print expr=x // 修改expr的值,expr可以是变量,也可以是表达式。 print arrname // 查看数组中的所有元素的值 例如:int arr[] = {1,3,5,7,9}; (gdb) print arr $1 = {1, 3, 5, 7, 9} print arrname@len // 查看len个数组的值(越界访问) 例如:int arr[] = {1,3,5,7,9}; (gdb) print arr@2 $2 = {{1, 3, 5, 7, 9}, {32767, 0, 1, 0, 0}} print *arrname // 查看数组首元素的值 例如:int arr[] = {1,3,5,7,9}; (gdb) print *arr $3 = 1 print *arrname@len // 查看数组前len个元素的值 例如:int arr[] = {1,3,5,7,9}; (gdb) print *arr@2 $4 = {1, 3} print &arrname // 查看数组的地址 例如:int arr[] = {1,3,5,7,9}; (gdb) print &arr $5 = (int (*)[5]) 0x7fffffffe4c0 print &arrname[i] // 查看数组元素arrname[i]的地址 例如:int arr[] = {1,3,5,7,9}; (gdb) print &arr[0] $6 = (int *) 0x7fffffffe4c0 (gdb) print &arr[2] $7 = (int *) 0x7fffffffe4c8 print 可简写为 p。
退出
quit // 退出gdb。 quit 可简写为 q。
回车
enter键 // 重复执行上一条命令。
相关文章推荐
- Linux学习笔记:GDB常用命令
- GDB学习笔记(一):GDB的常用命令(部分)
- PHP学习笔记(10)mysql常用命令
- Docker学习笔记1--常用run命令解释
- 学习笔记☞Linux常用命令【二】 (文件查找统计命令、打包解包命令、管理命令)
- 慕课linux学习笔记(四)常用命令(1)
- 【Linux学习笔记】常用命令速记
- 写得蛮好的linux学习笔记二-常用命令(收藏)
- Docker学习笔记--Docker常用命令
- node.js学习笔记之常用命令
- gdb调试器命令学习总结笔记
- linux学习笔记—— 文本编辑(代码开发工具)——vim之常用命令
- (Hadoop学习笔记-2) HDFS常用Shell命令
- maven学习笔记【常用命令】
- HP-UX 常用命令学习笔记
- WinDbg学习笔记九 - 内核调试常用命令3 - 线程相关
- linux常用命令(个人学习笔记)
- Docker学习笔记二:Docker常用命令及提升拉取镜像的速度
- Linux常用命令学习笔记
- Linux学习笔记:基本概念、常用命令