[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#30044: Emacs: Gud-mode: Debugging with gud: Window switching problem
From: |
Eli Zaretskii |
Subject: |
bug#30044: Emacs: Gud-mode: Debugging with gud: Window switching problem |
Date: |
Wed, 10 Jan 2018 05:28:28 +0200 |
> Date: Tue, 9 Jan 2018 21:58:47 +0100
> From: Claus Fischer <claus.fischer@clausfischer.com>
> Cc: 30044@debbugs.gnu.org
>
> > 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.