How to support interrupting a single step

Torsten Robitzki <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
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
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEBlD/pUKd/TvZxxklxPKNInpbSZkFAl1v10gACgkQxPKNInpb
SZnO1xAAirqAXBrr3TfDWi03MhP1ybt10oz34jlxYQIdmGpPjrkCu93Xz2rfINyX
MhI7ZS1ALWhBkEbc7I+7kvH9Bah/+6zOX/eRRUkBPoc5+cmwrKtouXvyN0n2NBWF
1U1FbeWojwk7H8aCbIUSV7Js3lDv9cbUKv31ZsEJmkNCdt+0vqXCMffGa6rMnrxm
8fnpUVXBJOOuFlD4NDwjdKF2CTlBKKXvVwywewyoB/KWvuxiR+1+/X40LqEeX0+i
VGbrCKto4j0XKbHXP9QK12fY/Hq11oxAM5iMGXcmVCDZxJmugDx2C5dLKCwjl6Le
Ghg0ctTEZOZv6CT3X3JrtPGedVHemZO2JOtD/oj/mLzx6MfKT0rmYLLgHbHtu/8M
j+wHfejJLKet0tYjnNT2gxPolX5yM1MGi+bjeTY+UDgYnn1sFXX0A3/U4Mtyy+dE
y81ovWD9QShhSNP7CW9mYoUVsu7SDJ+skDN7nT/Psm6afdee763bErwAFO3Gwhf7
zmDGC+RQZbMCyj4BGx8sbse+skxEUm89YRCG7t0PaC9qCYUNTzTwxYPEfPm36IiF
LVaiSdiUr+s74pvv0t5TvNEAU262/AQ5B1wk9EQAn3po3uvWfCRlb1aJDa35MHBa
w4Fl16s+iV/9Hkf4n6YfHz/4voeVfnjQZwl/dUMG1j3gT/YMBK8=
=swL5
-----END PGP SIGNATURE-----
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.