gdb-tips

简介

本项目来源 https://github.com/hellogcc/100-gdb-tips

在此基础上进行修改,并使用gitbooks在gitlab上构建出一个文档

本项目中有丰富的gdb调试技巧,除了这些,大家可以往里面补充一些自己的技巧,比如一些好用的脚本

开始阅读

gdbinit

下面是我自己使用的.gitinit中定义了一些方便调试的脚本

set print pretty on
set print null-stop
set listsize 20

set max-value-size unlimited 

define px
    p/x $arg0
end

define ix
    i/x $arg0
end


define i5x
    i/5x $arg0
end


define i10x
    i/10x $arg0
end


define i15x
    i/15x $arg0
end

define cmd
    focus cmd
end

define src
    focus src
end

define lsrc
    layout src
end

define lspit
    layout split
end

define lasm
    layout asm
end


define pir1
    set $a = $arg0->info.mnemonic
    set $b = $arg0->info.op_str
    printf "%s %s\n", $a , $b
end

define ppir1
    set $a = pir1->info.mnemonic
    set $b = pir1->info.op_str
    printf "0x%lx\t%s %s\n", pc,$a , $b
end

#print array
define pir1list
    set $i = ir1_num
    p $i
    while $i>0
        set $ir1 = ir1_list[$i-1]
        set $pc = ir1_list[$i-1]->info.address
        set $a = ir1_list[$i-1]->info.mnemonic
        set $b = ir1_list[$i-1]->info.op_str
        printf "0x%lx\t%s %s\n", $pc,$a , $b
        set $i--
    end

end

results matching ""

    No results matching ""