Когда надо понять как работает отладчик, надо задачу упростить по минимуму
В нашем понимании надо выкинуть все среды разработки из головы и посмотреть как изначально было предусмотрена работа отладчика GDB - это командная строка.
JLinkGDBServer
У нас есть запущенный JLinkGDBServer (тоже из командной строки).
The command line for GDB server start:
"C:\Program Files (x86)\SEGGER\JLink_V632i\JLinkGDBServerCL.exe" -port 2331 -s -CPU Cortex-M -device STM32F429VE -endian little -speed 4000 -if swd -vd -rtos "C:\Program Files (x86)\SEGGER\JLink_V632i\GDBServer\RTOSPlugin_FreeRTOS.dll"
Как идет отладка из командной строки
Сначала запускаем сервер
потом запускаем клиента:
Устанавливаем из клиента соединение с сервером :
(gdb) target remote localhost:2331
Remote debugging using localhost:2331
warning: while parsing target description (at line 10): Target description specified unknown architecture "arm"
warning: Could not load XML target description; ignoring
0xa5a5a5a5 in ?? ()
(gdb)
(gdb) info threads
Id Target Id Frame
* 1 Thread 57005 0x00000000 in ?? ()
(gdb) thread 1
[Switching to thread 1 (Thread 57005)]
#0 0x00000000 in ?? ()
(gdb) where
#0 0x00000000 in ?? ()
#1 0x66654474 in ?? ()
#2 0x00000000 in ?