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.
Tool/software: Code Composer Studio
Hello,
I am wondering if there is any way to overcome the following limitation in Debug View:
If I am correct, this limited feature has been introduced around CCS v6.1. However, it doesn't fully satisfy all needs.
Popular (and unfortunately expensive) debugger studios like Lauterbauch Trace32 do represent table data in a MUCH and MUCH better way. Every entry in OutputData expands as a table, and structure fields are represented as a single line. Trace32 software is extremely old, but yet gives this convenience in representing table data in the best way possible. So why limit the output?
Trace32 Example: endless string with Outputdata array with no limits
Trace32 Example: expanding array of structures
This also improves a search capability when I need to find fields with specific values. How do I do that with CCS?
Most likely, it is a change request for Code Composer Studio. But I would still be happy to know if there is a way to develop a plugin for CCS and extend this functionality myself. Perhaps, that would require source code though :(
Thanks
Hi Rafael,
Thanks for your reply.
>>I am almost sure this was a modification of the Eclipse original Expressions view plug-in as we don't contribute to that component
We tried to trace it down with Eclipse source code and couldn't come up with any solution to remove that limit. BTW, Standard Eclipse CDT of the same version didn't have this feature at all (tried to create CDT project ). Please point to the plugin we could modify if you think otherwise. Since I assume it is a modified version of the original plug-in, not published to Eclipse mainline, I believe I can't adjust it for my personal needs as I don't know CCS API. CCS Debugger core API isn't open source, right? I can't implement table search/dump with the help of CCS scripting automation either. If there was a search/filter that could output data based on the user query, it would be even better I think. Having custom output scripts supported like in Eclipse for Java would also be very cool.
Example of CDT C++ project based on CCS v7.1 to demonstrate no Value expression printed:
>> I suspect this may be due to the impracticality of having the entire array displayed when constraints such as the viewport/workbench sizes are much more limiting.
Do you mean that Expressions viewport in Eclipse has width constraints? It should be possible to connect Value column length to the quick format of each structure in Expressions view. If Value column length is smaller as by the default, then do limit correspondingly. If the user resizes that column and wants to see more of the one line formatted data in the structure, CCS should adjust that output correspondingly. I tried resizing Value column in Expressions and couldn't hit the limit. I guess there are no size constraints in Eclipse (it should be RAM based). A scrollbar appears at the bottom when column width goes above window size. It seems like you can fit anything into that window, just like Trace32 does (there are no obvious limits). At some point, it makes sense to apply some limits in Eclipse/CCS as there are users who don't have the required amount of RAM allocated for CCS/Eclipse process, or their debugger/JTAG frequency/remote connection is slow, hence it may take long time to output big tables whereas the user needs to look at the known individual items, which is why I think the feature should flexible/configurable based on some settings/options.
Example of a very long Value column length:
Dumping selected variable (array or structure) to console output in the format alike Trace32 was also a solution we've been looking for. Doesn't seem easy though. However, with that feature the users would be able to copy the result and search through the text in some other text editors with regexps and filter data based on their preferences. Please suggest if there is a known way to achieve this with the latest CCS version.
>> This view has a button that collapses all the values, but in this case it seems the opposite function would be also interesting: expand all variables.
If expand selected variable and all its sub/nested structures, the result may be too long to navigate and memorize previously viewed data, so it isn't very convenient. Expand up to the point where CCS plugin modification does NOT have to limit the quick format {field1=0, field2=2... } may be a better idea.
Let me know your thoughts.
Thanks,
Alexander
Hi Alexander,
There is a set development configuration options, which can be added to expression view(see below), that can be used to control the size and operation of the preview field. There is no search capability but as you mentioned this could probably be worked around by copying and pasting into a text editor. Since this is a public forum I need to put some warnings which may not impact your particular use case, but it might others. This is not an officially supported feature, having a very large preview will probably impact performance e.g. when single stepping or using continuous refresh mode as all that memory needs to be read in. Also, if there is a circular linked list type of a field in a structure and preview is set to a very large number, then preview will keep dereferencing pointers until that preview limit is hit. Pointer dereferencing can be controlled by setting 'cfg'::preview_dereference_pointer to 0.
preview_length controls the length of the whole preview string
preview_udt_length controls the number of fields in a struct/class/union to be displayed.
preview_dereference_pointer controls whether pointer fields should be dereferenced.
Please note that you need to specify the namespace 'cfg'.
Raymond
Thank you very much, Raymond!
I quickly played with these settings and their worked.
So far I am comfortable with configuring these manually as per my needs during debug.
Alexander