Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
BroadcastCommunity.qnx.com will be offline from May 31 6:00pm until June 2 12:00AM for upcoming system upgrades. For more information please go to https://community.qnx.com/sf/discussion/do/listPosts/projects.bazaar/discussion.bazaar.topc28418
Forum Topic - Application Profiler with C++ code: (3 Items)
   
Application Profiler with C++ code  
Hello,

I have a process which has 2 threads.  The project is also dependent on several dynamically linked libraries.

Thread 1 receives messages from the system
Thread 2 gets data from Thread 1 via an STL vector acting as a FIFO.

I am trying to use the application profiler to find sections of code that are taking longer to execute than I think they
 should.   I used the system profiler to narrow down the threads I need to look at.

I am having a bit of trouble with the App profiler tool in simple call counting mode.
I can get a list of most of the functions in the thread, but the call graph options are grayed out.

Does the application profiler work with C++ projects?

Should I be able to see the number of calls to functions in the DLLs?
The DLLs are compiled with the -p option and linked with the -lprofilingS options.

This is much more complicated a setup then the example project or what is indicated in the documentation, so I am 
wondering if I am missing a step or running into a limitation of the tool.

Thanks for the help.
- Mike
AW: Application Profiler with C++ code  
as long as you do not use the function instrumnentation (-finstrument-function),
in "Project Settings" - "Options" -> "Function Instrumentation"
you don't get the information that is needed to do the call graph display.
The classic instrumentation using -p is only a statistical profiling using call counts,
which is not capable of doing call graphs.

/hp

>-----Ursprüngliche Nachricht-----
>Von: Michael Cranston [mailto:community-noreply@qnx.com] 
>Gesendet: Mittwoch, 22. April 2009 23:22
>An: general-ide
>Betreff: Application Profiler with C++ code
>
>Hello,
>
>I have a process which has 2 threads.  The project is also 
>dependent on several dynamically linked libraries.
>
>Thread 1 receives messages from the system Thread 2 gets data 
>from Thread 1 via an STL vector acting as a FIFO.
>
>I am trying to use the application profiler to find sections 
>of code that are taking longer to execute than I think they 
>should.   I used the system profiler to narrow down the 
>threads I need to look at.
>
>I am having a bit of trouble with the App profiler tool in 
>simple call counting mode.
>I can get a list of most of the functions in the thread, but 
>the call graph options are grayed out.
>
>Does the application profiler work with C++ projects?
>
>Should I be able to see the number of calls to functions in the DLLs?
>The DLLs are compiled with the -p option and linked with the 
>-lprofilingS options.
>
>This is much more complicated a setup then the example project 
>or what is indicated in the documentation, so I am wondering 
>if I am missing a step or running into a limitation of the tool.
>
>Thanks for the help.
>- Mike
>
>
>_______________________________________________
>General
>http://community.qnx.com/sf/go/post27833
>
> 
 
*******************************************
Harman Becker Automotive Systems GmbH
Management Board: Dr. Klaus Blickle (Chairman), Dr. Udo Hüls, Michael Mauser
Chairman of the Supervisory Board: Ansgar Rempp | Domicile: Karlsbad | 
Local Court Mannheim: Register No. 361395

 
*******************************************
Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Wenn Sie nicht der richtige Adressat 
sind oder diese E-Mail irrtuemlich erhalten haben, informieren Sie bitte sofort den Absender und loeschen Sie diese Mail
. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have 
received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, 
disclosure or distribution of the contents in this e-mail is strictly forbidden.
*******************************************
Re: Application Profiler with C++ code  
If all and libs compiled with -finstrument-functions and link with -lprofilingS that means you are doing function 
instrumentation and you should run it in Function Instrumentation mode.
If you want call count mode you have to compile it with -p instead (and link with -p). Call Graph is disabled because 
you run it in wrong mode...

See http://community.qnx.com/sf/wiki/do/viewPage/projects.ide/wiki/IDE4.5ApplicationProfilerTrial for overview

Michael Cranston wrote:
> Hello,
> 
> I have a process which has 2 threads.  The project is also dependent on several dynamically linked libraries.
> 
> Thread 1 receives messages from the system
> Thread 2 gets data from Thread 1 via an STL vector acting as a FIFO.
> 
> I am trying to use the application profiler to find sections of code that are taking longer to execute than I think 
they should.   I used the system profiler to narrow down the threads I need to look at.
> 
> I am having a bit of trouble with the App profiler tool in simple call counting mode.
> I can get a list of most of the functions in the thread, but the call graph options are grayed out.
> 
> Does the application profiler work with C++ projects?
> 
> Should I be able to see the number of calls to functions in the DLLs?
> The DLLs are compiled with the -p option and linked with the -lprofilingS options.
> 
> This is much more complicated a setup then the example project or what is indicated in the documentation, so I am 
wondering if I am missing a step or running into a limitation of the tool.
> 
> Thanks for the help.
> - Mike
> 
> 
> _______________________________________________
> General
> http://community.qnx.com/sf/go/post27833
>