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

相关推荐
不怕犯错,就怕不做2 分钟前
(Hisilicon)笔试题:嵌入式Linux C语言GPIO中断与按键消抖(转载)
linux·驱动开发·嵌入式硬件
我科绝伦(Huanhuan Zhou)2 分钟前
Oracle BBED 工具部署全流程:Linux 64位环境实操指南
linux·数据库·oracle
ONLYOFFICE5 分钟前
11款Linux PDF编辑工具横评|开源、免费为主
linux·pdf·onlyoffice
赵钰老师5 分钟前
最新Hermes Agent 技能封装与科研自动化:以 Meta-Analysis 为例-实现从文献检索到绘图的一站式工作流
运维·chatgpt·自动化·ai编程·ai写作
.小小陈.6 分钟前
深度拆解 Linux 进程间通信(IPC):从管道到 System V 全链路详解
linux·服务器·网络·学习
落羽的落羽8 分钟前
【Linux系统】深入线程:多线程的互斥与同步原理,封装实现两种生产者消费者模型
java·linux·运维·服务器·c++·人工智能·python
l1o3v1e4ding9 分钟前
排查linux CentOS7.6的mysql(5.7.27)内存泄漏因OOM被系统kill的问题
linux·mysql·adb
博风13 分钟前
nginx:负载均衡
运维·nginx·负载均衡
爱莉希雅&&&1 小时前
Docker 部署 MySQL 双主双从同步架构详细笔记
linux·运维·数据库·mysql·docker·架构·主从同步
Alex艾力的IT数字空间8 小时前
在 Kylin(麒麟)操作系统上搭建 Docker 环境
大数据·运维·缓存·docker·容器·负载均衡·kylin