Subject: Re: bug#30044: Emacs: Gud-mode: Debugging with gud: Window switching problem

From: Eli Zaretskii <[email-masked]>
Date: Wed, 10 Jan 2018 05:28:28 +0200

> Date: Tue, 9 Jan 2018 21:58:47 +0100
> From: Claus Fischer <[email-masked]>
> Cc: [email-masked]
> 
> > How do you invoke GDB?  Is it "M-x gdb RET" or "M-x gud-gdb RET"?  I
> > suggest to try the former, and if you already do that, try the command
> > "M-x gdb-many-windows RET" after the debugging session starts.  I also
> > suggest to start the debugger in a separate frame, and switch to the
> > original frame when you want to work on your windows you had before
> > starting the debugging session.
> 
> I do
>   M-x gud-gdb RET
> since I found the other not to work as I like; a few years ago, I
> started it as M-x gdb but then something changed - I don't remember
> what - and I changed to gud-gdb. What's the difference? I just tried
> it, I think it's the separate i/o window, isn't it?
> If so, I'll stick with gud-gdb. I want my debugging session in a
> single frame, and stdio is not relevant for my programs.

"M-x gdb-many-windows" opens several windows, including the one for
I/O, but there are others (local variables, breakpoints, stack frames,
etc.).  More importantly, those windows are kept in their
configuration better than "M-x gud-gdb" does.  I do suggest to at
least try this.

> I usually have many frames open, but gdb is started in just one, and
> when it encounters a breakpoint, it splits the frame, and that suits
> me just fine - except for it sometimes burying the gud window itself.
> I don't think the behavious depends on there being multiple frames.
> Is that what you are suggesting?

I'm saying that if you have the source and the GUD windows in a
separate frame, then these windows don't interfere with your other
windows and don't mix with them.  So your annoyances will be much
smaller, ideally zero.