GDB调试笔记
来源:互联网 发布:掰弯体验知乎 编辑:程序博客网 时间:2024/06/15 06:13
一、调试前题
1、要使用GDB进行调试必须在编译的时候加上编译选项:
命令行编译: g++ -g test.cpp -o test
Makefile工程编译: ./configure --enable-debug=yes
二、调试步骤
1、进入调试: #gdb test
2、设置断点:break(b)
b 16 #断点设置在16行
b src/A.cpp:行号 #设置A文件的某一行
b funcname #设置在函数的入口处,双Tab可以补齐函数名
b namespace::A::funcname #设置项目中的某个函数的入口处
b src/A.cpp:funcname #设置某文件的函数的入口处
3、运行程序到断点处:run(r)
4、单步调试:
next(n) #不进入函数内部
step(s) #进入函数内部
5、继续运行到下一断点:continue(c)
6、退出循环体:until(u)
7、退出函数:finish(f)
8、退出调试:quit(q)
三、常用命令
1、列出源码: list(l)
2、直接回车表示执行上一次命令。
3、打印变量i的值:print(p) i
四、启动gdb的方式
1、正常启动方式: gdb test
2、调试正在运行的后台服务程序: gdb test pid (pid为进程号)
3、当出现内存错误时,查看错误信息: gdb test core
4、调试内存泄露问题:
- 先取消限制,生成core.pid文件:ulimit -c unlimited;
- 运行程序test
- 启动调试:gdb -c core.pid test
- 查看堆栈情况: where 或者bt
- 【GDB调试学习笔记】GDB调试入门
- gdb调试笔记
- GDB调试笔记
- GDB调试笔记
- gdb 调试笔记
- 【gdb调试笔记】
- gdb 调试 笔记(1)
- linux gdb调试笔记
- 【错误笔记】GDB调试
- gdb 调试笔记
- gdb调试学习笔记
- gdb 调试笔记1
- GDB 调试笔记
- gdb调试命令笔记
- 用GDB调试程序(笔记)
- GDB程序调试学习笔记
- GDB调试工具学习笔记
- GDB调试工具学习笔记
- [java] java.sql.Types
- 学习态度——温故知新
- 对ASP.NET网站高性能和多并发的设计的讨论
- 面试题
- 删除MSSQL2005的数据库日志文件
- GDB调试笔记
- DOM详解
- linux 命令集锦
- StackOverflowError
- 171. Fortune knocks at least once at every man's gate. 风水轮流转
- MFC中一些控件的使用和Opencv的一些变量转换
- 第六周C++实验报告
- Oracle10g数据库
- fwrite file