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.

CODECOMPOSER: CCS v11.1 Performance and usability issues

Part Number: CODECOMPOSER


Hello,

Using CCS Version: 11.1.0.00011 on an F38739D controlCard connected to a USB emulator (XDSv2 USB Debug)

I am seeing many issues with Indexing and Debugging via the Watch Window.

  1. Indexing.  After long sessions with CCS, the indexing and auto-complete start to take so long they they disrupt work flow.  Yesterday, I was seeing auto-completes take several to 10 seconds and completely lock up the UI (causing Windows to consider the application non-responsive). The indexing pretty much never finishes as it takes several minutes and I have it set to automatically rebuild on save and I save often.
    1. When it is in this state, even completely disabling the indexing function takes a long time to process.
    2. This condition exists between restarts of CCS. A complete reboot is needed.
    3. Usually I have most options enabled for indexing, but lately have reduced it to the minimum few files and the issue does not change.
    4. Periodically, I get a corrupted index error when I try to "Open Declaration" on some elements in code.  It does happen more often with overloaded / templated functions, but not exclusively.
    5. Rebuild and Refresh do not solve this.


  2. Watch Window. When expanding an item with a drop-down arrow, initially expanding it moves other items in the list down, but its contents are blank.  Unless a redraw is forced by scrolling the blank contents off of the screen and then back on, it will not appear on its own for a while.
    1. This happens 100% of the time since I have updated to CCSv11.  Both 11.0 and 11.1.
    2. This happens with arrays, structs, classes, etc.
    3. I have tried creating a new workspace (importing preferences) with the same issue.
    4. Once the contents are finally displayed, performing an action that automatically closes them (sometimes a context switch does this) will require me to redo this process again. Its frustrating when there is a nested list and it happens at every node.

Let me know if you need anything from me, or if these are known issues.

  • Hello,

    For the Indexing?

    Rebuild and Refresh do not solve this.

    I assume you are referring to the index file itself. If this does not help with your indexer issues, you may want to try cleaning the workspace folder itself.

    Do you have a lot of large (in terms of number and size of source files) projects open in the workspace? The Indexer can be pretty resource intensive and in some cases it may be best to disable it completely.

    Watch Window. When expanding an item with a drop-down arrow, initially expanding it moves other items in the list down, but its contents are blank. 

    I cannot reproduce this behavior. Can you provide a screenshot of the issue?

    What host OS and version are you using?

    Thanks

    ki

  • Hi Ki,

    I tried to address your points in the original post, sorry for being unclear.

    Regarding the watch window, I'll get a screenshot soon.

    Regarding file size and number... yes, I disabled as much as I could in the indexer as I tried to describe in 1c.  The auto-complete is kind of a mandatory feature for me, so I can't disable it completely. Is there a way to specify the paths that I want indexed, or excluded from the index?  That would be ideal.  The project is not that large... a large portion of the index is in the compiler tools path, which I believe is common to everyone.

    The process of cleaning the workspace is what I tried to describe in 2c. I have to do it every few weeks, but it always seems to come back.

  • Regarding file size and number... yes, I disabled as much as I could in the indexer as I tried to describe in 1c. 

    One setting that is fairly intensive is the " Allow heuristic resolution of includes". I would suggest disabling that one if you have not done so already. 

    Other suggestions is to close any open projects that are not being used. The indexer only parses open projects.

    Is there a way to specify the paths that I want indexed, or excluded from the index? 

    You can try the suggestion in the below link:

    https://codeyarns.com/tech/2015-10-11-how-to-exclude-files-from-eclipse-indexer.html

    Thanks

    ki

  • I assume you mean F28379D controlCARD.

    1. Although I'm using the same board and compiler I don't suffer the same issue in this particular project. However do you happen to be implementing AUTOSAR Memory Mapping, i.e. including MemMap.h or something simiIar where a large header is included multiple times (deliberately so) in a single C file? I had a great deal of indexing trouble in other Eclipse IDEs when this type of multiple include is used. I can provide solutions if so.

    2. I see this too but enabling Auto-Refresh seems to workaround the issue quickly enough.

  • Ki,

    I found that link too, but I am pretty sure that is excludes the file from the build, not just the indexer.

    Regardless, it seems like refreshing the workspace fixes it temporarily... doing this is annoying but less time-wasted than dealing with it.

    Here is an example image for issue #2 above; it does this on three different Win 10 computers running CCS v11 or 11.1. All do have a dark theme, if that is somehow related.

  • 1. My issue is directly related to some hacks I was trying to do with Template functions.  Basically trying to return a type from an enum during compile time...  The indexer did not like this at all.

    2. Auto-refresh barely does anything in this version for me;  I need to do the same trick to get it to refresh as I do to get it to re-draw.   :/

  • Here is an example image for issue #2 above; it does this on three different Win 10 computera running CCS v11 or 11.1. All do have a dark theme, if that is somehow related.

    I suspect it may be a dark theme issue since i Have occasionally seems such issues where the text clashes only with the dark background, making things hard to read. However, I was not able to reproduce this particular issue. But I suspect the content is there, just that the text is not visibile.

    If you copy and past those "blank" lines to a text editor, do you see the text that is supposed to appear in those lines?

  • Ki,

    Its a refreshing problem, as even POD values added to the expression window need to be updated via the same "forced redraw" method, this occurs even when "Constant Refresh" is enabled.

    Sometimes when attempting to expand items, only a single blank row will appear, even if, for example, the array being expanded has 10 elements in it.  First, one row will show, then I will force a redraw and the blank spaces where data will be will show, then another forced redraw will sometimes show the data.

    Regardless, here is the same issue without dark mode, thankfully you have sunglasses in your avatar!  Smiley

  • Thank you for confirming that it is not a dark mode specific issue.

    I can't seem to reprdouce this issue.

    Would it be possible for you to share your program so that I can try running it on my F2837xD controlcard? You can sent it to me via private E2E message if you do not what to post publicly

    Thanks

    ki

  • Ki,

    No can do, unfortunately. Export controlled.

    Would sending you my exported Workspace and/or Project settings help?  Also, I can try using an example project to see if I can reproduce the behavior.

  • Updates:

    I imported Blinky from C2000ware4.0 using my normal UI settings (dark mode, etc) and the watch window worked as expected.

    Some of the major differences between the blinky project and my own:

    • EABI vs COFF (blinky)
    • DWARF compression
    • Compiler version, optimizations, etc.
    • Mostly C++ vs C (blinky)
      • Template functions
      • STL containers
    • Flash (with Ram run targets) vs Ram
    • Size - My source is several times larger both in source and target size

    I changed blinky to EABI and enabled DWARF. Also, matched some of the compiler and linker settings (-O4, v21.12) and blinky still worked as expected.

  • Also, I can try using an example project to see if I can reproduce the behavior.

    Any luck with an example test case?

    Perhaps stripping down your original project (so that most of the IP is removed) would work. A stub with the array in question.

  • Ki, I sent a follow-up message with the results of the example.

  • Did you send the example via private message? I did not get anything...