AnsweredAssumed Answered

Debugging techniques with MQX and KDS?

Question asked by dave408 on May 13, 2015
Latest reply on Jun 4, 2015 by dave408

I'm new to MQX and am running into problems here and there, and I'm sure there will be more!  I was hoping that members of the community can share some of their special debugging techniques with MQX.


I am aware of the Task Aware Debugging (TAD) feature and have added it to KDS 2.0 (I haven't migrated to KDS 3.0 yet).  But other than this, what else is there?  I have read about enabling the Kernel Logging feature, but have only seen that with the older MQX component.  Since PEx now has MQX as an OSA selection, I no longer see Kernel Logging in the parameter list.


I'd also like to see my stack usage over time, but whenever I go to MQX -> Stack usage, it just says "Stack usage information not found!".  I've had cases where my application locks up, and when I increase my stack space, my problem goes away.  I can only assume that this is okay, since I don't use dynamic memory allocation and don't have to worry about memory leaks.  I got lucky this time, because the way the error manifested itself was with a troubling message when I paused execution:



How do I enable Stack Usage information?


Furthermore, what about the case where an application locks up, and it's not a stack space issue?  How do you go about figuring out what happened?  I left my application running overnight, and when I came back to it this morning, it was frozen.  The green D2 LED on my FRDM-K64F was blinking steadily, but this doesn't tell me much because that LED is controlled by the K20 onboard.  I couldn't pause execution, because the debugger had completely lost connection to the board somehow.


And what about catching Hard Fault errors?  I tried to follow Erich Styger's informative post on mcuoneclipse, but I have enabled Unhandled vectors -> "Own handler for every", and now I can't figure out where those handlers reside. 

I'm looking forward to hearing what everyone else does, as well as hopefully getting feedback on how to enable the debugging features that I have mentioned above.  Thank you!