Connecting GDB to a running remote target without resetting

0

I'm trying to figure out a way to connect to a running MCU (STM32F413, FreeRTOS) and get a stack trace/other debugger info. It's in some sort of stalled state, and I'm trying to figure out how it got there / what it's doing. I can't reliably reproduce this condition. That means that resetting the device would render the entire exercise futile.

I've set up ST-Link's GDBserver, with SWD mode. I've disconnected the NRST & TRST lines from the header, and don't have any "monitor reset" or "load" commands in my .gdbinit, just a "set substitute-path". I can attach to the device, normally I "load" the program executable & reset the device. I want to connect without loading or resetting the device, but still be able to break and step through the code. I can connect without (apparently) resetting and get the current stack frame, registers, backtrace, etc, but no symbol lookup, and if I "continue" (which allows symbols to load) it resets the target. But this pre-continue state seems to be at the reset vector location, so I think it has reset, halted, and not yet printed the message.

Is there a way to "continue" without resetting?

Carl Mitchell

Posted 2019-09-16T19:15:56.033

Reputation: 1

No answers