This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

How to support interrupting a single step


Hi,
I’m writing a debug server to support the debugging of an ARM Cortex M4 (nRF52) controller via SWD (Bluetooth LE debugger). I have a test program that contains an endless loop (loops over a systick counter with masked PendSV, SysTick interrupts [C_MASKINTS]). If I run that program (‚c‘ package) and interrupt the execution by ctrl-C (0x03) and try to single step through the program, I can’t get back onto the GDB prompt by cntr-C as I would expect.

I can see that GDB is sending sequences of ’s’ and ‚g‘ packages and from the content of the ‚g‘ I can see, that the $PC is moving. When I press ctrl-C, I can see that GDB is sending interrupts (0x03) to my debug stub, but as both, ’s’ and ‚g‘ are short running commands, there is no point in making them aware of an interrupt. Even if I would, I could tell, what the correct return values would be to make GDB stop sending `s` and `g` packages.

Any idea, on how to make „step“ in this scenario interruptable?

best regards,

Torsten

--
Torrox GmbH & Co. KG
persönlich haftender Gesellschafter: Torrox Verwaltungs GmbH, Rehau (Amtsgericht Hof, HRB 5927)
Geschäftsleitung:                    Dipl.-Ing. Torsten Robitzki
Umsatzsteuer-Identifikationsnr.:     DE253527398
Adresse:                             Fabrikstraße. 22; 95111 Rehau
Handelsregistereintrag:              Amtsgericht Hof, HRA 4650
Telefon:                             +49 9283 8999666





Attachment: signature.asc
Description: Message signed with OpenPGP


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]