i've already posted this issue on the tracker but was directed here.
My setup
I have the following setup:
I'm programming for an embedded ARM target running ChibiOS/RT:
Code: Select all
[ARM Target with ChibiOS] <--> JTAG <--> openOCD patched with ChibiOS thread support <--> arm-none-eabi-gdb <-> codelite
- Ubuntu 12.04.1 LTS 64 bit
- Codelite 4.1.5770 from repository
- OpenOCD master, patched with #1, #2 and ChibiOS support
Now to the problem:
Debugging works great if i disable thread support in OpenOCD - basically it then only shows the current execution. But once I move to threads, it works fine - but if threads are destroyed (this happens for example when initializing the RTOS), codelight chockes on the gdb output.
Most probably this is cause by a parsing error of the "info threads" command, which is nicely illustrated in this screenshot: The corresponding lines from the gdb log:
Code: Select all
DEBUG>>&"info threads\n"
DEBUG>>=thread-exited,id="1",group-id="i1"
=thread-exited,id="1",group-id="i1"
DEBUG>>=thread-created,id="2",group-id="i1"
=thread-created,id="2",group-id="i1"
DEBUG>>~"[New Thread 1]\n"
DEBUG>>~" 2 Thread 1 (Current Execution : : No RTOS thread) main () at main.cpp:69\n"
DEBUG>>~"\nThe current thread <Thread ID 1> has terminated. See `help thread'.\n"
DEBUG>>00000018^done
DEBUG>>00000019-exec-next
DEBUG>>00000019^error,msg="Cannot execute this command without a live selected thread."
Cannot execute this command without a live selected thread.
DEBUG>>00000020-exec-next
DEBUG>>00000020^error,msg="Cannot execute this command without a live selected thread."
Cannot execute this command without a live selected thread.
DEBUG>>00000021info threads
DEBUG>>&"info threads\n"
DEBUG>>~" 2 Thread 1 (Current Execution : : No RTOS thread) main () at main.cpp:69\n"
DEBUG>>~"\nThe current thread <Thread ID 1> has terminated. See `help thread'.\n"
DEBUG>>00000021^done
MaBl