ubuntu 12.04 GDB调试常用指令
来源:互联网 发布:淘宝一元秒杀神器 编辑:程序博客网 时间:2024/05/22 09:03
编译时必须加上参数-g ,例:g++ -g -o hello hello.c 通过Gcc编译生成可执行文件才能用Gdb进行调试。
进入gdb界面:gdb hello 提示符变成(gdb)
(1)查看文件 源码
在Gdb中键入”l”(list)就可以查看所载入的文件
(2)设置断点
只需在”b”后加入对应的行号即可(或直接输入函数名)。如下所示:(gdb)b 6 (gdb)b main代码运行到第五行之前暂停(运行到main())。
(3)查看断点情况
(Gdb) info b
(4) 删除指定断点,其断点号为”info b”中的第一栏。若缺省断点号则删除所有断点
delete [断点号]
(5) 停止指定断点,使用”info b”仍能查看此断点。同delete一样,省断点号则停止所有断点
disable [断点号]]
(6) 激活指定断点,即激活被disable停止的断点
enable [断点号]
(7)运行代码
Gdb默认从首行开始运行代码,可键入”r”(run)即可(若想从程序中指定行开始运行,可在r后面加上行号)。
(8)查看变量值
查看断点处的相关变量值。在Gdb中只需键入”p”+变量值即可,如下所示:(Gdb) p n Gdb在显示变量值时都会在对应值之前加上”$N”标记,它是当前变量值的引用标记,所以以后若想再次引用此变量就可以直接写作”$N”,而无需写冗长的变量名。
(9)单步运行
使用命令”n”(next)或”s”(step),它们之间的区别在于:若有函数调用的时候,”s”会进入该函数而”n”不会进入该函数。因此,”s”就类似于VC等工具中的”step in”,”n”类似与VC等工具中的”step over”。
(10)恢复程序运行
使用命令”c”(continue). 在Gdb中,程序的运行状态有“运行”、“暂停”和“停止”三种,其中“暂停”状态为程序遇到了断点或观察点之类的,程序暂时停止运行,而此时函数的地址、函数参数、函数内的局部变量都会被压入“栈”(Stack)中。故在这种状态下可以查看函数的变量值等各种属性。但在函数处于“停止”状态之后,“栈”就会自动撤销,它也就无法查看各种信息了。
(11) 运行shell的command命令
shell vi hello.c (在需要运行的命令前加上 shell)
进入gdb界面:gdb hello 提示符变成(gdb)
(1)查看文件 源码
在Gdb中键入”l”(list)就可以查看所载入的文件
(2)设置断点
只需在”b”后加入对应的行号即可(或直接输入函数名)。如下所示:(gdb)b 6 (gdb)b main代码运行到第五行之前暂停(运行到main())。
(3)查看断点情况
(Gdb) info b
(4) 删除指定断点,其断点号为”info b”中的第一栏。若缺省断点号则删除所有断点
delete [断点号]
(5) 停止指定断点,使用”info b”仍能查看此断点。同delete一样,省断点号则停止所有断点
disable [断点号]]
(6) 激活指定断点,即激活被disable停止的断点
enable [断点号]
(7)运行代码
Gdb默认从首行开始运行代码,可键入”r”(run)即可(若想从程序中指定行开始运行,可在r后面加上行号)。
(8)查看变量值
查看断点处的相关变量值。在Gdb中只需键入”p”+变量值即可,如下所示:(Gdb) p n Gdb在显示变量值时都会在对应值之前加上”$N”标记,它是当前变量值的引用标记,所以以后若想再次引用此变量就可以直接写作”$N”,而无需写冗长的变量名。
(9)单步运行
使用命令”n”(next)或”s”(step),它们之间的区别在于:若有函数调用的时候,”s”会进入该函数而”n”不会进入该函数。因此,”s”就类似于VC等工具中的”step in”,”n”类似与VC等工具中的”step over”。
(10)恢复程序运行
使用命令”c”(continue). 在Gdb中,程序的运行状态有“运行”、“暂停”和“停止”三种,其中“暂停”状态为程序遇到了断点或观察点之类的,程序暂时停止运行,而此时函数的地址、函数参数、函数内的局部变量都会被压入“栈”(Stack)中。故在这种状态下可以查看函数的变量值等各种属性。但在函数处于“停止”状态之后,“栈”就会自动撤销,它也就无法查看各种信息了。
(11) 运行shell的command命令
shell vi hello.c (在需要运行的命令前加上 shell)
0 0
- ubuntu 12.04 GDB调试常用指令
- gdb调试常用指令
- gdb调试程序常用指令
- gdb调试器常用指令
- gdb调试器常用指令
- GDB 调试指令
- GDB调试指令
- GDB调试指令整理
- GDB/LLDB调试指令
- 【手册】GDB调试指令
- gdb调试指令使用
- GDB调试指令
- GDB调试常用指令和一些详细方法
- gdb调试常用指令及如何使用gdb调试多进程 (attach方法)
- gdb常用指令
- gdb常用重要指令
- GDB的常用指令
- gdb常用指令
- 推荐几款DevTools插件
- wemall app商城源码Android之Native(原生)支付模式一demo
- 连不上无线网-只有自己的wifi连不上,不显示输入密码对话框的解决办法
- noip2016 Day2 T2:蚯蚓 (归并)
- 二 d3.数据绑定
- ubuntu 12.04 GDB调试常用指令
- 关于Drawable设置到控件中不显示的问题
- https 客户端与服务器端交互过程
- 用SSE加速CPU蒙皮计算
- hadoop实战(一) hadoop基本概念
- 数据库升级
- Git基础(1)
- cookie 和session 的区别详解
- 【codeforce508C】. Anya and Ghosts