This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS offline debugger query



Hi, We use the CCS offline debugger to analyze the stack backtrace following a crash. This feature has been a life saver for us to debug issues out in the field. Thanks a lot for this one. There is one issue we are facing and am not sure if this has been fixed in recent version of ccs. We are using an older 5.1 version. If the debugger encounters a library which doesn’t have symbols then it halts unwinding. We have a mix where some libraries have symbols while others don’t. We are trying to address that problem. Meanwhile, is there a way to continue unwinding the entire stack. Here is a failure case. Any thoughts?

 

0 ti_uia_runtime_LoggerCircBuf_write4__E(struct ti_uia_runtime_LoggerCircBuf_Object *, unsigned int, unsigned short, int

, int, int, int) at /db/vtree/library/trees/uia/uia.git/src/ti/uia/runtime/LoggerCircBuf.c:1036 PC = 0x9C1AD7F3 FP = 0x9

CD2AA88

Unwind halted because ti_uia_runtime_LoggerCircBuf_write4__E has only skeletal debug info

Thanks.

  • Anil,

    The only thing you can do is rebuild the affected source files with symbols enabled (-g).  Compilation units built with only skeletal debug don't contain any DWARF frame information, which is what CCS uses to understand how to unwind the callstack.

    I know that symbols can be enabled while maintaining high levels of optimization, but I believe there are a few minor optimizations that are disabled by enabling symbols.  Those optimizations may not affect your application, and you could always compile a select few with skeletal debug when necessary.  However, I'd recommend posting something on the code generation forum as I'm far from an expert in the compiler tools.

    Having said this, the offline stack analysis tool should be able to unwind the callstack on either side of these functions.  But, if you have a lot of functions with skeletal debug, or not many frames on either side, then the results won't be that great.

    Darian

  • Darian, Thanks for the response. You indicated that the offline tool should be able to unwind the functions even without symbol. I believe we just have one library without symbol info, the rest are having symbols. Do you think the CCS v6 would be able to unwind this better than CCS v5.1 that we are using right now? I wanted to check before I install it.

     We are working with the RTOS team to get the packages needed to re-build the library, so that should also help in future.

    Thanks,

    AniL

  • Anil,

    For the specific problem of not being able to unwind through skeletal debug, CCS v6 will not help you. 

    There are other fixes/improvements to this feature since 5.1 that might help you in other scenarios (mostly improved gcc support, and improved error messages for other cases where the callstack can't be unwound).

    Darian