gdb调试小结
gdb最基本的调试命令.1以调试程序test.cpp为例:进入调试环境 gdb test
2.b 12在文件的第12行设置断点。
删除断点:
info b 列出所有的断点信息
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x004010f1 in main at test.cpp:17
breakpoint already hit 1 time
2 breakpoint keep y 0x00401120 in main at test.cpp:23
breakpoint already hit 1 time
要删除第2个断点
d 2
如果不指定断点号,则表示删除所有的断点
3.r –d执行当前被调试的程序.-d是运行参数
4.p variable打印数据内容
5.l列出产生执行文件的源代码的一部分.
6.n执行一行源代码但不进入函数内部。
7.s执行一行源代码而且进入函数内部。
8.c继续执行程序,直至下一中断或者程序结束。
9.k终止正在调试的程序.
10.q终止 gdb.
附注:基本gdb命令:
命令 简写 功能 file 装入想要调试的可执行文件. kill k 终止正在调试的程序. list l 列出产生执行文件的源代码的一部分. next n 执行一行源代码但不进入函数内部. step s 执行一行源代码而且进入函数内部. continue c 继续执行程序,直至下一中断或者程序结束。 run r 执行当前被调试的程序. quit q 终止 gdb. watch 使你能监视一个变量的值而不管它何时被改变. catch 设置捕捉点. thread t 查看当前运行程序的线程信息. break b 在代码里设置断点,
这将使程序执行到这里时被挂起. make 使你能不退出 gdb
就可以重新产生可执行文件. shell 使你能不离开 gdb
就执行 UNIX shell
命令. p 打印数据内容。 examine x 打印内存内容。 backtrace bt 查看函数调用栈的所有信息。
gdb调试小结的更多相关文章
- GDB调试命令小结
1.启动调试 前置条件:编译生成执行码时带上 -g,如果使用Makefile,通过给CFLAGS指定-g选项,否则调试时没有符号信息.gdb program //最常用的用gdb启动程序,开始调试的方 ...
- 使用 GDB 调试多进程程序
使用 GDB 调试多进程程序 GDB 是 linux 系统上常用的调试工具,本文介绍了使用 GDB 调试多进程程序的几种方法,并对各种方法进行比较. 3 评论 田 强 (tianq@cn.ibm.co ...
- Linux+eclipse+gdb调试postgresql源码
pg内核源码解析课上用的vs调试pg源码, VS用起来确实方便,但是配置调试环境着实有点麻烦.首先得装个windows系统,最好是xp,win7稍微麻烦点:最好使用vs05,08和10也可以,但是比0 ...
- GDB Core,gdb 调试大全,core文件调试
编译: gcc -g -o hello hello.c gdb 调试: 基本 gdb 命令. 命 令 描 述 小结:常用的gdb命令 backtrace 显示程序中的当前位置和表示如何到达当前位置的栈 ...
- GDB 使用小结
GDB 使用小结 Gdb 不用说,两个字,非常强大 >.<,我最讨厌不识数的人了 本文适合GDB 初学和没学过的,如果你懂了,可以相互交流 既然说它很强大,它强大在哪里呢? 一般情况下,大 ...
- 使用gdb调试c++程序
上篇(使用c++开发跨平台程序)说到,我不怕造东西,我怕的是造出来的东西,如果出了问题,我却不知道原因.所以调试分析是一个重要的手段. C++调试是一个复杂的活.虽然大部分调试可以通过IDE在开发期间 ...
- gdb命令小结
GDB命令小结 gdb <filename> : 调试指定程序文件 r : run 的简写,运行被调试程序, 如果此前没有下过断点,则执行完整个程序:如果有断点, 则程序暂停在第一个可用断 ...
- 第二课:启动 GDB 调试
使用 GDB 调试程序一般有三种方式: gdb filename gdb attach pid gdb filename corename 这也对应着本节课的核心内容: 直接调试目标程序 附加进程 调 ...
- GDB调试汇编堆栈过程分析
GDB调试汇编堆栈过程分析 分析过程 这是我的C源文件:click here 使用gcc - g example.c -o example -m32指令在64位的机器上产生32位汇编,然后使用gdb ...
随机推荐
- POJ 1426
http://poj.org/problem?id=1426 一道广搜的题目. 题意就是给你一个n,要你求出n的倍数中,只存在0和1的那个数字 所谓的只存在0和1,那么就是某个数的十倍或者十倍+1,而 ...
- keepalived+haproxy构建高可用负载均衡
一.环境介绍 我用的是centos6.7,内核版本为2.6.32-573.el6.x86_64,keepalived版本为keepalived-1.2.22,haproxy版本为haproxy-1.6 ...
- Unity3d 残影效果(狂拽炫酷叼炸天)
效果图,真的很叼啊 我根据别人的改进了一版,支持MeshFilter上的Mesh(需要确保Mesh的Read/Write是开启的否则不能正常工作) 非常感谢原作者给提供思路.http://blog.c ...
- 6.nodejs权威指南--进程
1. 进程 var net = require('net'); var cluster = require('cluster'); cluster.setupMaster({ exec:'child. ...
- Effective C++ -----条款08: 别让异常逃离析构函数
析构函数绝对不要吐出异常.如果一个被析构函数调用的函数可能抛出异常,析构函数应该捕捉任何异常,然后吞下它们(不传播)或结束程序. 如果客户需要对某个操作函数运行期间抛出的异常作出反应,那么class应 ...
- BestCoder22 1003.NPY and shot 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5144 题目意思:有个人抛物体,已知抛的速度和高度,问可以抛到的最远距离是多少.即水平距离. 做的时候是 ...
- jquery this 与javascript的this
<div class="list"> <table> <thead> <tr> <th width="110&quo ...
- 读取Spring的配置文件applicationContext.xml的5种方法
1.利用ClassPathXmlApplicationContext,这种方式配置文件应该放在类包同路径下Java代码: ApplicationContext ct=new ClassPathXmlA ...
- microsofr visual studio编写c语言
过程: 1.创建win32 控制台项目 文件->新建->项目->Visual C++ ->Win32 输入项目名称 选择项目保存位置 2.添加->新建如图
- ThinkPHP入门(二)
smarty使用 smarty引入流程 1. 控制器IndexAction.class.php function index() $this -> display(); (父类Action的di ...