一份简洁的GDB使用小结

Prepare gdb

1.安装GDB

yum install gdb

2.查看安装

gdb --version

ubuntu中查看是否安装gdb软件包

rpm -qa |grep gdb

QuickStart

1.写程序 vim test.cpp

#include<iostream>
 using namespace std;
 int main(){
	int arr[5]={1,2,3,4,5};
	for(int i=0;i<5;i++){
		cout<<arr[i]<<endl;
	}
	return 0;
}

备份cp test.c test1.c
2.编译 g++ test.cpp
3.g++ -g test.cpp
gdb a.out进入gdb
list查看代码
b 15在15行打断点
info b 查看断点
r run 运行
n next 下一步
s step 进入程序中下一个可执行函数
f finish
p print一个变量
quit

小技巧

1.shell 调用终端命令

shell ls

2.日志功能

set logging on

3.watchpoint

查看变量变还是没变
watch &i 不断n,若i变化会提示
info watchpoints //查看哪几个点

调试core文件

程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下会产生一个叫做core的文件。
若不生成,查看ulimit命令手册
man ulimit
by reaserch ,we know ulimit -ato watch if the core generated allowed;
if not , ulimit -c unlimited
g++ -g /a.out
ls
gdb a.out core.xxxx调试
其他照旧

调试正在运行进程

a.out &//后台运行,返回一个pid
gdb -p pid 其余照旧

posted @   Yihoyo  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示