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: How to configure debug properties for Project-less debug?

Part Number: CODECOMPOSER
Other Parts Discussed in Thread: MSPM0G3507

Tool/software:

Hello,

CCS 20.01.

How does one configure debug properties as described here: https://software-dl.ti.com/ccs/esd/documents/users_guide_ccs/ccs_debug-main.html#debug-properties  for project-less debug?

So far only setting loadSymbolsOnly is possible in the launch.json.

Regards,

Eugene

  • Hello,

    So far only setting loadSymbolsOnly is possible in the launch.json.

    This is correct. The launch.json file is where many of the advanced debug properties are accessible. This would mimick the behavior of VS Code and Theia IDE that CCS 20 is based on.

    Thanks

    ki

  • Hi Ki,

    I am referring to Debug Properties described here https://software-dl.ti.com/ccs/esd/documents/users_guide_ccs/ccs_debug-main.html#debug-properties. If they are available through launch.json for project-less debug, then it is excellent solution. However, what is the schema for those properties under connections.cores?

    Regards,

    Eugene

  • If they are available through launch.json for project-less debug, then it is excellent solution. However, what is the schema for those properties under connections.cores?

    Everything would be in the launch.json file. But the properties in the dialog you referenced is not documented (regarding how to specify it in the launch.json). It would actually be under a "debuggerSettings" category. I'll see if I can find the schema for them.

  • Hi Ki,

    Thank you. This is great news. Having published schema will help.

    There are also connections.cores.sourceDirs and connections.cores.sourceMappings. The whole CCS Theia launch.json schema seems to be open-ended and no obvious validation is present - bogus key are ignored and only known key type seems to be checked.

    Regards,

    Eugene

  • Thank you. This is great news. Having published schema will help.

    I have an update. Unfortunately the news is not as good as hoped. I did get the schema they have documented. What is documented is pretty limited. It is pretty much just what is already documented in: https://software-dl.ti.com/ccs/esd/documents/users_guide_ccs/ccs_debug-main.html#launch-configurations. Anything beyond that we do not expose to the user.

    Also, None of the debugger properties is documented in the schema. This is where things get a little confusing.

    Everything documented in the above link and schema for the launch.json I mentioned apply to launches. These are launch configuration properties. This is different from debugger properties. Things like loading symbols only or source search paths are launch properties. 

    The items in https://software-dl.ti.com/ccs/esd/documents/users_guide_ccs/ccs_debug-main.html#debug-properties are debugger properties. While these settings are also stored in the launch.json, It is stored in a special debuggerSettings object that is then passed to the debugger. The way it is stored is not very friendly to read though it is more or less intelligible.

                "debuggerSettings": {
                    "targetConfigs/MSPM0G3507.ccxml": {
                        "Texas Instruments XDS110 USB Debug Probe/CORTEX_M0P": {
                            "data": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>\n<PropertyValues>\n\n  <property id=\"AddCIOBreakpointAfterLoad\">\n    <curValue>0</curValue>\n  </property>\n\n  <property id=\"AutoRunToLabelOnRestart\">\n    <curValue>0</curValue>\n  </property>\n\n  <property id=\"FlashEraseSelection\">\n    <curValue>Erase MAIN and DATA memory</curValue>\n  </property>\n\n</PropertyValues>\n"
                        }
                    }
                }

    In the example above, I have modified several debugger properties via the GUI and it is generated in the launch.json, all settings on one line. It is expected that users use the GUI to adjust these properties. We do not recommend people try to manually edit this section (though it is possible once you are familiar with the syntax).

  • Hi Ki,

    Wow! This is illogical at best!

    Basically, there is no way to configure debugger properties with project-less debug. Without CCS project user has no GUI option to set up debugger properties or even see what they are.

    IMHO, CCS team should look into fixing this and providing complete launch.json schema for project-less debug. The debuggerSettings object could be created in the CCS from the values in launch.json. Wouldn't that make sense?

    Eugene

  • Without CCS project user has no GUI option to set up debugger properties or even see what they are.

    It is possible. You just need to access it from a running debug session. Basically the second bullet/screenshot in:

    https://software-dl.ti.com/ccs/esd/documents/users_guide_ccs/ccs_debug-main.html#debug-properties