gdb调试器自定义命令

用惯了OD,感觉gdb实在是不够用,好在gdb提供宏命令编程,令gdb有无限的可能

另外gdbtui可以启动gdb的文本UI模式,可以让gdb看起来稍微有点像图形化调试器了

我的~目录下.gdbinit 配置(部分是从另一篇文章copy、修改):

提供功能:

迅速到达程序入口并打印基本信息

打印寄存器环境,不同字节长度的16进制显示

输入输出到文件的快捷重定向,dump汇编代码,16进制数值,二进制到文件

从系统汇编代码自动单步到用户代码,以字符串,数值的形式设置内存数据

各种信息显示和断点操作的快捷命令定义,栈数据视图等

# Init parameters,ms style for asm
set output-radix 0x10
#set disassembly-flavor intel


define go
break main
#display /4xw $esp
#disable display 1
#display /5i $pc
run
regs
#st  8
printf "stackwin:\n"
stackwin
printf "\n"
x/6i $pc
end

define logon
    set logging file $arg0
    set logging on
end
document logon
    output to file
    usag:logon file
end

define logoff
    set logging off
end
document logoff
    shut off logon
end

define relogon
    set logging redirect on
    logon $arg0
end
document relogon
    redirect output to file
    usag:relogon file
end

define relogoff
    set logging redirect off
    logoff
end
document relogoff
    shut off redirect output
end

define to
    set pagination off
    disable display
    set $flag=0
#    relogon /dev/null
    while( $flag==0 )
        ni
        set $addr=(unsigned int)$eip
        if( (($addr) & 0x08000000 ) )
            set $flag=1
        end
    end
#    relogoff
    enable display
    set pagination on
    x/i $pc
end
document to
    if $eip not in your programe,the debug will auto run 
    until in your programe(through 'ni')
end

define argv
    show args
end
document argv
    Print program arguments
end

define sdis
    display /$arg0i $pc
end
document sdis
    print arg0 line disassemble
end

define split
    layout split
    layout regs
end


define mappings
    info proc mappings
end


define st
    x /$arg0xw $esp
end
document st
    display stack len*4 byte
    usage: st 4
end


defin
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值