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 可以打印 比如arr[0] 输出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 就可以进行调试了

相关推荐
Ffe14 小时前
Linux提权五:Rbash绕过&Docker&LXD镜像
linux·docker·lxd·提权笔记总结
HAPPY酷4 小时前
温和 C++:构建一个线程安全的异步消息服务器
服务器·c++·安全
小草cys4 小时前
AI 技能(Skills):一种面向任务自动化的模块化执行范式
运维·自动化·skills
未来之窗软件服务4 小时前
服务器运维(三十四)小程序web访问慢ssl优化—东方仙盟
运维·服务器·小程序·仙盟创梦ide·东方仙盟
!沧海@一粟!4 小时前
Linux-配置虚拟IP实例
linux·网络
济6174 小时前
I.MX6U 开发板网络环境搭建----(电脑 WiFi 上网,开发板和电脑直连)--虚拟机双网口实现-- Ubuntu20.04
linux·网络·电脑
执笔论英雄4 小时前
【大模型推理】 通过TokenWeave 学习chunked prefill 的缺点。
服务器·网络·学习
山核桃&17°4 小时前
基于 Vue + Node.js 批处理bat脚本实现多环境一键部署
运维·前端·自动化
yuanmenghao4 小时前
Linux 性能实战 | 第 18 篇:ltrace 与库函数性能分析
linux·python·性能优化
Elastic 中国社区官方博客4 小时前
Elasticsearch 8.17.2 升级到 9.2.4 完整升级过程
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·运维开发