Linux 使用gdb对c/c++代码进行调试
来源:互联网 发布:java bean json 编辑:程序博客网 时间:2024/06/02 04:16
c/c++开发的工作者常常需要考虑跨平台使用的问题,那么在linux上编译是必不可少的一部分。gdb是linux下的c/c++调试工具,具体安装(这里用的是centos的系统,其它系统也大同小异):
yum install gdb
我们来一段c++代码,命名为test.cpp:
#include<iostream>using namespace std;int main(){int a=0;int b=10;int c=b/a;cout<<c<<endl;return 0;}
开始编译:
g++ test.cpp -g -o testout
运行:
make testout
可以发现,出错了,那么我们开始用gdb进行调试,输入:
gdb testout
上图为最终得到的结果,可以看出行号6处,出现算术运算溢出。下面介绍gdb常用指令:
-s 单步调试-l 显示当前源码-b 行号 表示在行号处设置断点-r 表示开始调试
其实,gdb还有一种用法,对于大型项目,可以快速锁定异常的位置,就是设置core dump,使用命令:
ulimit -c unlimited
这样,每次运行程序出现异常时,都会在程序所在的目录下生产core dump文件,那么就可以使用:
gdb testout core-1234
快速找到bug的位置,但是使用gdb的前提是源码一定要写入二进制文件中,-g千万不能丢下。
阅读全文
0 0
- Linux 使用gdb对c/c++代码进行调试
- 如何使用Eclipse和GDB对JNI代码进行调试(JAVA和C)
- Linux下的c如何进行GDB调试
- 使用gdb在Android Emulator中进行调试c程序
- gdb 调试linux c程序
- linux C 调试工具gdb
- linux 下 android ndk-gdb 调试 jni 中的c 代码
- 使用GDB调试C库
- 使用gdb调试C程序
- C编译: 使用gdb调试
- 使用GDB调试C库
- C编译: 使用gdb调试
- C编译: 使用gdb调试
- 使用GDB调试Android应用中C/C++代码
- linux c/c++ 第一次使用GDB调试小小程序
- Linux C编程(2) 使用GDB调试入门
- Linux下使用gdb调试C/C++程序
- Linux环境下使用GDB调试C程序
- 51Nod 1008 N的阶乘 mod P
- Servlet(3)ServletConfig接口的介绍(获取web.xml中某个Servlet中的初始配置参数)
- Dijkstra's Algorithm(迪杰斯特拉算法)
- 第二周 汉诺塔
- Android事件分发的View的焦点捕捉事件
- Linux 使用gdb对c/c++代码进行调试
- 内存泄露与内存溢出
- matlab循环语句注意点
- 微信小程序服务器请求和上传数据,上传图片并展示,提交表单完整实例代码附效果图
- 无法找到调试信息
- 数据库的简单操作
- 51Nod 1009 数字1的数量
- 洛谷 1514 [NOIP2010]引水入城 bfs+贪心
- 函数式编程(3):函数式编程特性