# # Version 0 : Technique 3 # print "Running initialization gdb commands..." # Version 1 : Technique 3 # print "Running initialization gdb commands..." # run # # Version 2 : Technique 5 # print "Running initialization gdb commands..." # break ack # run # # Version 3 : Technique 6 # print "Running initialization gdb commands..." # break ack # commands # continue # end # run # # Version 4 : Technique 7 # print "Running initialization gdb commands..." # set variable $nack = 0 # break ack # commands # set variable $nack = $nack + 1 # printf "ack function invoked %d times\n",$nack # continue # end # run # # Version 5 : Technique 7 # print "Running initialization gdb commands..." # set variable $nack = 0 # set variable $rlev = 0 # break ack # commands # silent # set variable $nack = $nack + 1 # set variable $rlev = $rlev + 1 # printf "ack function invoked %d times, recursion depth=%d\n",$nack,$rlev # continue # end # break 27 # commands # silent # set variable $rlev = $rlev - 1 # continue # end # run # # Version 6 : Technique 8 # print "Running initialization gdb commands..." # set variable $nack = 0 # set variable $rlev = 0 # break ack # commands # silent # set variable $nack = $nack + 1 # set variable $rlev = $rlev + 1 # continue # end # break 24 if (0==$nack%100) # commands # silent # printf "ack function invoked %d times, recursion depth=%d\n",$nack,$rlev # continue # end # break 27 # commands # silent # set variable $rlev = $rlev - 1 # continue # end # run # Version 7 : Technique 9 print "Running initialization gdb commands..." set variable $nack = 0 set variable $rlev = 0 set variable $rlim = 16 break ack commands silent set variable $nack = $nack + 1 set variable $rlev = $rlev + 1 continue end break 24 if ($rlev >= $rlim) commands silent set variable $rlim = $rlim * 2 printf "ack function invoked %d times, recursion depth=%d\n",$nack,$rlev end break 27 commands silent set variable $rlev = $rlev - 1 continue end run