开发者

Emacs GDB ReRun Behaviour

开发者 https://www.devze.com 2023-03-03 14:58 出处:网络
I would like the command gdb o开发者_运维技巧n program X to instead switch to an existing debugging session of X if it already exists instead of signalling an error \"This program is already being deb

I would like the command gdb o开发者_运维技巧n program X to instead switch to an existing debugging session of X if it already exists instead of signalling an error "This program is already being debugged" in gud-common-init.

I believe this is important as it makes the behaviour of gdb harmonize with the standard behaviour of most other Emacs interactions such as, find-file, switch-to-buffer etc, thus creating less confusion to the user.

So far I have modified the line containing

(error "This program is already being debugged"))

to instead do

(message "This program is already being debugged")

to at least prevent the error from arising. However, the function gdb does some extra initializations that should not be needed that causes some unnecessary delays. Is this a todo item or have I missed some gud/gdb-function that does this already?

Many thanks in advance, Per Nordlöw


You can always rename-buffer. This is how I can run multiple gdb sessions on the same executable. It is not automatic but it is an effective work around.

For example if my executable is called pump, then upon running gdb, a buffer named *gud-pump* will be generated which represents the gdb session. From this buffer do meta-x rename-buffer *gud-pump1*

Then invoke gdb again and you will have two GUD sessions, one *gud-pump* and *gud-pump1*. The sessions are separate and should not interfere (although they can interact) with each other.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号