2011-11-29 61 views
1

使用gdb,我需要在continue之前及其中斷之後立即運行額外的命令。我以爲我會做一個用戶定義的命令是這樣的:在GDB中,如何從用戶定義的命令運行內置命令

define continue 
    pre_continue 
    continue 
    post_continue 
end 

這當然,在一個無底的遞歸坑失敗。有沒有辦法直接調用內置命令,繞過用戶定義的命令?

順便說一句:我需要命令命名爲continue,以便我使用的gdb前端將調用我的用戶定義函數。

回答

5

User-defined Command Hooks是你在找什麼:

可以定義掛鉤,這是一種特殊的用戶定義 命令。無論何時運行命令foo', if the user-defined command hook-foo'exists,它都會在 命令之前執行(不帶參數)。

也可以定義一個掛鉤,它會在執行命令 後運行。無論何時運行命令foo', if the user-defined command hookpost-foo'exists,它都會在該命令後執行(不帶參數) 。對於相同的命令,執行後掛鉤可能與預執行掛鉤同時存在。

這個解決方案應該爲你工作:

define hook-continue 
pre_continue 
end 

define hookpost-continue 
post_continue 
end 
+0

只是我一直在尋找的東西!大。謝謝。我會upvote你的答案,但我沒有足夠高的聲譽:-) – anorm

+0

但現在我做... – anorm

相關問題