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 就可以进行调试了

相关推荐
祖力554 分钟前
Linux系统移植、烧录与环境的搭建
linux·运维·服务器
对讲机数码科普12 分钟前
从电路原理到协议栈:模拟对讲机与数字对讲机的技术内核拆解
运维·网络·架构·软件工程
打工仔折腾 AI14 分钟前
极空间用 Docker 部署 Photopea:网页版 PS 的私有化实践
运维·后端·python·docker·容器·langchain·ai agent 实战
工具人555527 分钟前
Docker 最新超详细版教程
运维·docker·容器
我送炭你添花43 分钟前
ASA原理与电子维修实战:前言 一路修来,一路学习
运维·网络·学习
skywalk81631 小时前
windows10 explorer占用太多内存问题解决
服务器·内存·windows10·explorer
张小姐的猫1 小时前
【Linux】网络编程 —— 多路转接:epoll
linux·运维·网络
宋明河1 小时前
五种 IO 模型与 select、poll、epoll 对比
linux
玄芯散人1 小时前
【金丹·81】性能分析:你的程序慢在哪
linux·性能优化·perf