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.
Hello,
a search across the TI forumns told me the appropriate tool for getting the worst case stack of my program was cg_xml.
If there is a better more recent tool, please let me know.
I am working with a project generated in CCS 6.1.0.0014.
When I run ofd6x.exe -xg project.out | perl.exe call_graph.pl --stack_max
I get numerous parsing errors, as seen in the attached example file.
This, to me, implies the tools are not working well together in modern development.
Questions:
Am I doing something wrong with this process?
Is there a better way to get worst case stack, preferably out of Code Composer's build settings?
Thank you for any assistance.
C:\svn\p150827\Software\CBL\C28x\trunk\Release>"C:\Program Files (x86)\Texas Ins truments\cg_xml\utils\ofd6x.exe" -xg .\SW-11272-1.out | "C:\Perl\bin\perl.exe" " C:\Program Files (x86)\Texas Instruments\cg_xml\ofd\call_graph.pl" --stack_max Reading from stdin ... Terminating on signal SIGINT(2) C:\svn\p150827\Software\CBL\C28x\trunk\Release> ... Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. Use of uninitialized value in join or string at C:/Perl/lib/XML/Simple.pm line 1 284, <STDIN> line 1. Use of uninitialized value $key in hash element at C:/Perl/lib/XML/Simple.pm lin e 1290, <STDIN> line 1. .text:___text__:_c_int00:_const_loadstart:_const_runstart:_mech_size:_pdif_size: _pinit_loadstart:_pinit_runstart:_switch_loadstart:_switch_runstart:_text_runsta rt : wcs = 106 C:\svn\p150827\Software\CBL\C28x\trunk\Release>
ngohara1991 said:Am I doing something wrong with this process?
No, you're not. There is a problem with how later versions of XML::Simple and the cg_xml package work together. It is not diagnosed. In the mean time, you can use the standalone executable form of the script in the \bin directory. Replace "perl.exe call_graph.pl" with "\path\to\cg_xml\bin\call_graph".
ngohara1991 said:Is there a better way to get worst case stack, preferably out of Code Composer's build settings?
In CCS version 7.x or later, there is a feature for viewing stack usage. In the Project Explorer View, select your project. Then click the menu selection View | Stack Usage.
Thanks and regards,
-George