gdp调试—Linux

目录

介绍

使用


介绍

代码分为debug模式和release模式

如果一份代码要被调试,这份代码必须是debug

Linux下编译代码默认是是release模式

如果你想代码是debug模式

必须加上 - g

小提:

vim默认:命令模式

gcc默认:release模式

Linux中形成的可执行程序格式:ELF

在debug发布时,一定会给可执行程序内部添加debug信息

debug形成的可执行程序 > release形成的可执行程序

使用

gdp + 可执行程序

1.打开代码

l (list)

l 0 从0行开始打开代码

2.运行

r (run)

3.打断点

b (breakpoint) + 行号

b 源文件:行号

b 函数 (打在函数入口处)

b 文件名 函数或者行号

4.查看断点

info b

每个断点都有编号

5.删除断点

d(deletepoint)+ num(断点编号)

6.禁用和开启断点

disable + Num 禁用断点

enable + Num 开启断点

7.逐过程(把函数当成一条语句)

n

8.逐语句

s

9.查看变量细节

display +变量/变量地址(常显示)

undisplay +变量/变量地址(关闭常显示)

10.查看变量细节

p +变量/变量地址

11.运行

until 运行到指定位置

finish 运行到当前函数结尾

c 从一个断点运行到另一个断点

12.查看调用堆栈

bt

13.更改变量的值

set var i(变量)= ?

14.查看所有变量

info locals

相关推荐
fish_xk1 分钟前
Linux操作系统
linux
zh路西法3 分钟前
【udev重命名详细教程】放弃硬编码,从重命名开始
linux·机器人
studytosky12 分钟前
【高并发内存池】线程缓存核心原理与实现
linux·服务器·git·缓存
lihao lihao13 分钟前
Linux文件与fd
java·linux·算法
X7x516 分钟前
网络守护者:STP端口角色与状态转换深度解析
运维·网络·网络协议·信息与通信·stp
墨者阳26 分钟前
可观・可控・可治:DB运维平台架构设计与实践
运维·数据库·架构·自动化·数据可视化
奇妙之二进制27 分钟前
fastdds源码分析之EDP协议
运维·服务器·网络
treacle田31 分钟前
达梦数据库-DMDIS安装与基本使用-记录总结
linux·运维·服务器·达梦dmdis
我星期八休息36 分钟前
Linux 进程核心原理全解:从冯诺依曼体系到进程控制全链路深度剖析
大数据·linux·服务器·开发语言·数据结构·c++·散列表
Strange_Head36 分钟前
补充知识点`makefile`、`config`、`GLP协议` 3/3 ——《驱动篇》《Linux历史发展》
linux·运维·服务器