[转]最近常用的 gdb 指令

本文深入探讨GDB调试器的高级使用技巧,包括如何利用infofunc、canseeallfunction等命令深入了解函数行为,掌握ni、si命令的区别,以及如何通过record、layout asm和layout reg进行高效调试。同时,文章提供了实用的内存dump方法、如何设置参数和修改寄存器值,以及如何快速定位buffer overflow等关键信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

info func

can see all function

si

一次一行,會進入到 function

可以搭配 finish 直接跑到 ret

ni

一次一行,不會步入function

record

下這條指令之後可以往前

搭配 rsi , rdi

layout asm
layout reg

如果有用 gdb-peda 就不要用這個了,否則會 A[[;31m^Bgdb-peda$ A[[0m^B

切換: 先按 ctrl+x 再按 a

x/10wx $rsp

第一個 x 是指 dump memory 的意思 / 後面接的是參數

10 代表 dump 10 個, w 指 word(32 bits) , x 指以 hex 的方式表示

set args xxx

如果程式中有要用 argv[1] 這種的,可以這樣設定

看設定的 show args

set $eip=0x1234

直接更改其值

gdb default use AT&A ,如果要改 intel 可以用:
$ set disassembly-flavor intel

attach [pid]

直接 attach 上現在,正在執行的program

有裝peda 想找多少會 buffer overflow 可以用:
$ pattern create 1000
$ pattern offset AmAA
這樣來看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值