gdbserver and thread debugging

Hi, Is someone aware about any port of gdbserver to FreeRTOS? Open source or commercial? I’d like to do thread debugging via gdserver, not JTAG or OpenOCD. Second question is target object file loader and symbol resolver for elf or similar format. Is the something like that for FreeRTOS. Best regards Rasty

gdbserver and thread debugging

I think Segger and perhaps NXP have Eclipse plug-ins for FreeRTOS, which presumably use GDB. Have a look at FreeRTOS Thread Debugging with Segger GDB in Eclipse

gdbserver and thread debugging

Thanks. But it is not what I’m looking for. Few years ago OpenOCD started with parsing FreeRTOS TCB and stack and passing this data to GDB, I tried to play with it, but gave up at the end. Maybe today it works out of the box. It is really nice to see stack frames and tasks states, but I’d like to attach to a thread and debug it rather than stopping whole system. This would be a big advantage for complex applications. I “discovered” FreeRTOS in 2007 for ARM7. I took idea from VxWorks and wrote a primitive stack parser and added symbol table and lookup and was able to see thread call stack at the run time from embedded shell. This was very helpfull to debug dead-end loops and dead-locks.

gdbserver and thread debugging

Hi, Which MCU do you use ? If it’s a cortex-M, it’s work well with openocd + gdb. Jonathan

gdbserver and thread debugging

Hi, Unfortunately for evaluation I use uBlaze.I push CortexM/R+FreeRTOS for the next product. I’d love to use OpenOCD, but it does not support uBlaze, at least I didn’t find script. What do you mean by “work well with openocd + gdb”? Shows all threads and stacks or supports also co-called “non-stop mode”, where you can stop and step-through specific thread? Rasty

gdbserver and thread debugging

OpenOCD has it implemented (see https://mcuoneclipse.com/2016/04/09/freertos-thread-debugging-with-eclipse-and-openocd/), but I have not used much openOCD as it does not support the ARM cores I’m using well. But you might have a look at the OpenOCD implementation as it is open source.

gdbserver and thread debugging

Thanks I’ll try that.