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.

CCS4: Cannot see static and local variables in Debugger

Other Parts Discussed in Thread: TMS320F28035, TMS320F2809, LM3S8962

Hi

Using CCS 4 i don't see values of static and local variables even when debugging in same Module (C-File) or function.

With global Variables there is no problem. Also in CCS3 it did work fine. Is there any options to enable the acces to this symbols?

Michael

Version of CCS3: 4.1.1.00014
Target: TMS320F28035
Debugger: XDS510LC

 

 

  • Michael,

    If the full symbolic debug is turned on and the optimizer is off, so the local variables are not stored in registers to increase efficiency, I don't see a reason why they are "disappearing". Are you sure you have these two options correctly configured?

    Sometimes local variables can go away if they are never used in the routine, but I wonder if this is the case.

    Hope this helps,

    Rafael

     

  • Hi,

    I have the same problem with ccs4 either

    CCS Version: 4.1.1.00014

    C2000 Compiler Settings:

       Basic Options:

           Debugging model: Full symbolic debug (--symdebug:dwarf, -g)

           Optimization level: none

    Device: TMS320F2809

    Emulator: XDS510 USB

    Code Example:

     void do_test()

     {

         static BOOL_T is_error = MY_FALSE; 

         is_error = get_error_state();

       if(is_error == MY_TRUE)

       {

            handle_error();

       }

    }

    The static local var "is_error" to watch  => identifier not found

    Ed Rogalsky

  • Yes I see this issue. You have to append a $<number> to the variable. You can find what that number from the Modules view (Window->Show View->Other->Debug->Modules). Looks like it means it's the second static variable.

    Bit of a pain. Let me inquire about this a bit more.

  • I've filed this as bug number: SDSCM00035749

    Thanks

    ki 

  • Ki-Soo, could you elaborate a bit more, please? I am trying to debug a function which uses a variable named "threadbag" that's static to the module. I can find it in the "Modules" view, in the "Globals" section:

    As you can see, there is no "$number" suffix. In fact, there are several "threadbag" variables because other modules have also a static variable with the same name, and there seems to be no means of telling to which module each variable belongs. I guess I could look at the memory address in the map file, but thst's quite a pain.

    There are several symbols named "name$number" in the "Labels" section, but none of them have "threadbag" inside the name. Adding "threadbag" to the watch view brings the an "identifier not found: threadbag" error. Can you think of any practical workaround?

    I am using CCS version 4.1.2.00027, the target is a C6455 and I'm debugging with the C6455 Device Cycle Accurate Simulator.

    Thanks,

    Pedro.

  • I am seeing the same problem (local and static variables not visible in debug) while using Code Composer 3.3.38

    I too have Full Symbolic Debug enabled along with No optimization.

    It is certainly frustrating. Is there a fix for this other than upgrading to a later version?

  • I am seeing the same problem in CCS 4; trying to debug a Stellaris application on LM3S8962 and several of my local variables do not appear in the debugger's "Local" view, and cannot be found using the "Watch" view.

    Am using full symbolic debugging, with optimization set to 0. I don't see anywhere in the Modules view, however, that provides the $<number> mentioned in the post.

    Has a resolution for this been determined?

    Thanks,
    David R. 

  •  

     & 

    I have the same problem like u either !

    at last i found that if U do program like this .

    you will not  see values of static and local variables even when debugging in same Module!

    Code Example:

     void do_test()

     {

    {

    static BOOL_T is_error = MY_FALSE; 

    .....//some other code 

    }

    int a = 9;

    }

    The static local var "is_error" and 'a' to watch  => identifier not found


    U should try to  code as below:

     void do_test()

     {

    static BOOL_T is_error = MY_FALSE; 

    {

    .....//some other code 

    }

    int a = 9;

    }

     

    then u will see it!!!!!!

     

    i suggest u check your code to make sure that there are not such cases in you program !

     

    good luck!

     

     

     

  • Ki,

    Is there any update on this bug?

    Thanks, Jon

  • Ki,

    An update would indeed be great. I am using CCS 4.1.3.00038 and am having the same issue. Debugging is hard - if not impossible - as long as you have variables out there that you cannot inspect...

    Best regards

    Andreas

  • Hi!

     

    Had the same problem here, but there's an easy possibility  to display global/static variables:

     

    Right click into the watch window -> "Add global variables..." find your variable there...

     

    Have fun

    Jörg

  •  

    Changing the optimization level in Basic Options to "None" solved this issue for me. Earlier, the optimization level was set to "0", and I thought optimization is disabled. But from this thread (http://e2e.ti.com/support/development_tools/f/81/p/28346/100034.aspx) it seems to disable optimization you should choose "None" (or the blank option).

     

  • I am using CCS4.2.0 and i am able to see the static variables inside the functions/threads in  watch/local window...with the above options turned on.

     

    Regards,

    Vishwa

  • Anonymous
    0 Anonymous in reply to John62016

    John,

    I tried your suggestion, but I found that there is no "none" option in optimization level. How did you manage to choose that?

     

     

     

     

    Zheng

  • Zheng,

    There is no option None in the drop down...instead of that you could choose empty row above option 0 ....that acts as option None

     

    Regards,

    Vishwanath BJ

  • >>Yes I see this issue. You have to append a $<number> to the variable. You can find what that number from the Modules view (Window->Show View->Other->Debug->Modules). >>Looks like it means it's the second static variable.

    How do we do this using CC 3.3?

  • I can confirm the same problem after so many years. What could I do to see the variables in the stack? I am using TI V6.4.4