2012-07-17 90 views
1

使用gdb調試不熟悉的程序時,程序通常會在執行next後意外退出。當發生這種情況時,我通常會設置一箇中斷點,重新運行程序並執行step而不是next來跟蹤發生的事情。但是,有時很難知道在哪裏設置中斷點。有沒有一種技術會自動設置中斷?喜歡的東西:gdb掛鉤設置中斷

define hook-next 
break 
end 

define hookpost-next 
# delete the previous break if the program is still running 
end 

回答

2

我想你可以用鉤旁邊,方便的變量,並在退出斷點的組合做到這一點。例如:

define hook-next 
set $saved_pc = $pc 
end 

break exit 
commands 
break *$saved_pc 
end 

您可能更喜歡「tbreak」。