linux gdb 调试工具

1.写程序

首先,我们先写出一个 .c 或者.cpp程序

然后 gcc -g hello.c -o hello

或者 g++ -g hello.cpp -o hello (-g)要加

2. gdb调试

用 gdb +(可执行程序,如hello)

进入之后,有以下命令,r l b n (运行,查看,断点,逐语句向下)

info b 查看所有 断点情况

3.print &step 的应用,p s

首先,print / p 可以打印 比如arr0 输出1;

step/ s 可以步入到函数内 ,到调用函数的时候 s 可以直接进去

4.gdb可以通过shell 来写终端命令

例如 shell ls

5. 可以通过日志来copy 调试的命令

set logging on

6. watch * +(比如i地址)

可以实时跟踪 i 变量的变化

info watch

7.如何调试一个 core 文件 (即断掉的程序)

首先 比如 int *temp =NULL; *temp=10 ,这肯定发生错误了 ,然后,就是会生成一个文件 core. 1897

然后执行命令 gdb errtest(.o 可执行文件) core.1897

这样会显示出这个文件的错误

8.调试一个正在运行的程序

2.首先,写一个执行中的程序,比如死循环 fortest,并把它编译后台运行 gcc .o & 然后,会有 一个 进程的id 号

gdb -p ID 就可以进行调试了

相关推荐
orion579 小时前
Missing Semester Class1:course overview and introduction of shell
linux
SkyWalking中文站13 小时前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
用户1204872216115 小时前
Linux驱动编译与加载
linux·嵌入式
程序员老赵17 小时前
服务器文件不想 SFTP 上传?Docker 跑个 File Browser,浏览器就能管理
服务器·docker·开源
火车叼位17 小时前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
vivo互联网技术21 小时前
从 10 分钟到 1 秒:ES 深度分页任意跳页的三轮优化实战
服务器·数据库·redis·elasticsearch·深度分页
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
小猿姐1 天前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生