X-Git-Url: https://git.jankratochvil.net/?p=nethome.git;a=blobdiff_plain;f=.gdbinit;h=f31f82fbbb76623cf5f77b7b52231d0d9bd20c4c;hp=6aad8c420705e7105ae4a7acb1c2aeaf19e10e5e;hb=39dd9e07c6fe3474faa3dea72a74c68bc3756ad5;hpb=e35d7d87ec46cb66d32b36828f35c7c4c72868b0 diff --git a/.gdbinit b/.gdbinit index 6aad8c4..f31f82f 100644 --- a/.gdbinit +++ b/.gdbinit @@ -1,38 +1,90 @@ +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 -set complaints 10 -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 +# 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