X-Git-Url: https://git.jankratochvil.net/?p=nethome.git;a=blobdiff_plain;f=.gdbinit;h=f31f82fbbb76623cf5f77b7b52231d0d9bd20c4c;hp=68597bffb4dead7558a5f7d5eb7c20ac9fa095ae;hb=e7cafb4c67bc388c7e4bcef1b7719944910a34f8;hpb=b5527eeeccc01a574b1324038527f0be786b73d2 diff --git a/.gdbinit b/.gdbinit index 68597bf..f31f82f 100644 --- a/.gdbinit +++ b/.gdbinit @@ -1,36 +1,90 @@ -# Appears to be a default everywhere now: -#set history filename /home/lace/.gdb_history -#set history save on -define rt - break $arg0 - run -# clear $arg0 - end -define ct - tbreak $arg0 - continue - end -define rtl - tbreak main - run - break $arg0 - continue -# clear $arg0 - end -define pglist3 +set break pending on +set style enabled off +# See .bashrc: export GDBHISTFILE="$HOME/.gdb_history" +# Should also work (untested): +# set history filename ~/.gdb_history +set history save on +# https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=106814 +set complaints 0 +set record insn-number-max 10000000 +define javadump + call _Jv_DeepDebug($arg0) +end +document javadump +call _Jv_DeepDebug($arg0) +end +define pglist if (*("$arg1")=='@') set var $arg1=struct $arg1 - end + end set var $pglist_list=$arg0 while ($pglist_list) - if (!strcmp("$arg2",".")) + if $argc==2 print *(($arg1 *)$pglist_list->data) else print *(($arg1 *)$pglist_list->data)$arg2 - end + end set var $pglist_list=$pglist_list->next + end +end +document pglist +GList or GSList dumper iterating by `->next': +pglist {|@} [] +end +define plist + set var $plist_iter=$arg0 + while ($plist_iter) + if $argc==1 + print *$plist_iter + else + if $argc==2 + print $plist_iter->$arg1 + else + print$arg2 $plist_iter->$arg1 + end end + set var $plist_iter=$plist_iter->next end -define pglist - pglist3 $arg0 $arg1 . +end +document plist +List dumper iterating by `->next': +plist [] [/] +end +define countlist + set var $countlist_iter=$arg0 + set var $countlist_count=0 + while ($countlist_iter) + set var $countlist_iter=$countlist_iter->next + set var $countlist_count=$countlist_count+1 end + p $countlist_count +end +document countlist +List elements counter iterating by `->next': +countlist +end +define debug + set debug infrun 1 + set debug lin-lwp 1 +end +document debug +set debug infrun 1 +set debug lin-lwp 1 +end +define sip + stepi + x/i $pc +end +define nip + nexti + x/i $pc +end + +define mycommand + set $i = 0 + set $foo1=$arg1 + while $i < $argc + eval "print $foo%d", $i + set $i = $i + 1 + end +end