[英]Emacs GDB ReRun Behaviour
我想命令gdb
上的程序X
,而不是切換到的現有調試會話X
在“這個程序已被調試”,如果它已經存在,而不是發出錯誤信號gud-common-init
。
我相信這很重要,因為它使gdb
的行為與大多數其他Emacs交互的標准行為(如find-file
, switch-to-buffer
等) 協調一致 ,從而減少了用戶的混淆 。
到目前為止,我修改了包含的行
(error "This program is already being debugged"))
改為做
(message "This program is already being debugged")
至少可以防止錯誤產生。 但是,函數gdb
執行一些不需要的額外初始化,這會導致一些不必要的延遲。 這是一個todo項目還是我錯過了一些已經這樣做的gud / gdb-function?
非常感謝PerNordlöw
您始終可以重命名緩沖區。 這就是我可以在同一個可執行文件上運行多個gdb會話的方法。 它不是自動的,但它是一種有效的工作。
例如,如果我的可執行文件名為pump,那么在運行gdb時,將生成一個名為* gud-pump *的緩沖區,它代表gdb會話。 從這個緩沖區做meta-x rename-buffer * gud-pump1 *
然后再次調用gdb,你將有兩個GUD會話,一個* gud-pump *和* gud-pump1 * 。 會話是分開的,不應該相互干擾(盡管它們可以相互作用)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.