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

相关推荐
太理摆烂哥8 分钟前
进程调度及文件系统的管理
linux
海域云-罗鹏23 分钟前
豆包开启付费订阅,想白嫖越来越难了,企业不如部署自己的算力服务器
服务器·人工智能·github
德迅云安全-小潘33 分钟前
APP运营服务器配置全攻略:从选型到网络安全,你需要知道的一切
运维·服务器·web安全
许泽宇的技术分享1 小时前
别再把 AI Agent 当“会聊天的脚本”:Hermes Agent 源码级拆解(架构、框架、实战、趋势,一文吃透)
java·linux·网络
HalvmånEver1 小时前
MySQL事务(一)
linux·数据库·学习·mysql
%KT%1 小时前
Agent开发:自动查天气+景区推荐
linux·数据库·php
Yupureki1 小时前
《Linux网络编程》9.数据链路层原理
linux·运维·服务器·网络
顶点多余1 小时前
Socket编程实现UDP通信
linux·网络协议·udp
切糕师学AI1 小时前
Remmina:Linux 平台的全能远程桌面客户端详解
linux·运维·远程控制·远程桌面·remmina
dualven_in_csdn1 小时前
【assist】 需要用到的方法
linux·运维·服务器