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

相关推荐
MMME~13 分钟前
SELinux
linux·rhce
cccccc语言我来了15 分钟前
深入理解 Linux(7) 命令与动态库:从文件操作到程序链接的实践指南
android·linux·运维
浪漫血液&19 分钟前
进程调度的基本过程
服务器·进程调度
Lynnxiaowen20 分钟前
今天我们开始学习Linux自动化运维Ansible基础
linux·运维·学习·自动化·云计算·ansible
NiKo_W20 分钟前
Linux 传输层协议
linux·运维·网络·tcp协议·传输层·udp协议
夜月yeyue20 分钟前
Linux 中断处理机制详解:上下半部、内核线程与中断线程化
linux·运维·单片机·嵌入式硬件·uboot·bootloard
YJlio23 分钟前
VMMap 学习笔记(8.2):启动 VMMap、选择目标进程、权限要求与首次快照流程
服务器·笔记·学习
机器人行业研究员28 分钟前
防爆六维力传感器的本质安全,破解高危环境自动化难题
运维·自动化
浪漫血液&1 小时前
Linux基础指令(简易版)
linux·服务器
云计算老刘1 小时前
1. Cockpit 管理服务器;2. Linux 软件包管理
linux·运维·服务器·云原生·云计算