GDB doesn't interrupt target

Tudor Popescu <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CAHrp7QA5yjKqv5zfheG-TaFG6KPsVg2TZj=CCjMcSQ349LLVPA@mail.gmail.com>
Hello,

I am using an eclipse-based IDE and a gdb/gdbserver combination for aarch64
targets. GDB version we use is 8.2.1 on a Linux host.

Main problem is GDB doesn't interrupt the target when Ctrl-C is sent to
eclipse's Debugger Console. Same thing happens when using kill -2 on
pidof(gdb), or when pressing suspend button in eclipse.

As far as I can tell, GDB 8.2.1 is launched with 2 interpreters: console
and mi2. The actual arguments are:
--interpreter mi2 -q --interpreter console -ex "new-ui mi /dev/pts/5" -ex
"set pagination off" -ex "show version"

The old GDB 7.11.1 we used, received only "–interpreter mi2 --nx" as
arguments and everything related to target interrupt was working as
expected.

From my investigation, the behavior described above is somehow related to
the terminal management (and also target_terminal::is_ours()). Looks like
when eclipse is involved, target_pass_ctrlc() is never called. My
understanding is that we need target_terminal::is_ours() to return false in
order to interrupt the target. But this never happens on my setup.

What I need, is a way to interrupt the target while target is running.
Also, I would like to understand what is causing the above mentioned
behavior. I know that GDB 7.12+ introduced some changes to support a
prettier Debugger Console in eclipse and this seems to impact somehow the
interrupt functionality in my case.

So the main question is how do I make GDB 8.2.1 behave like GDB 7.11.1 when
it comes to target interrupting (e.g. Ctrl+C)? Are there any special
arguments that need to be passed to GDB?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.