CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 5 of 5
  1. #1
    Join Date
    Aug 2008
    Midwest, USA

    Execution profile wanted of 3rd party app that uses VC++ 9 runtime

    I'm an end user (with 30 yrs prog exp) of an app that has been publicly distributed. Sometimes the app appears to be in an infinite loop (or at least one of the threads in it). Click radio button A and CPU is at 4%. Click radio button B and the CPU jumps to 90% and there is no useful processing going on. The panel revealed by radio button B has buttons in it that will set off useful work. Click radio button A and the CPU is again at 4%. Task manager shows that it is the app that is using the CPU.

    The problem is happening on a machine that has the following installed: Windows 2000 SP4, .NET V2 SP1, VC++ 9 runtime

    The app uses VC++ 9 runtime. I'd love to know what the app is doing (in the most general sense) after radio button B is clicked. I'd like to pass back to the developers the name of the routine or even some address that would help the devs with tracking down the problem ... at least give them a place to start.

    Once radio button B is clicked where is this thing spending it's time?

    Any suggestions or links about methods or other free or trial tools to be used in this effort would be greatly appreciated. The app is a free app that several hundred million people have downloaded over the years. Helping these devs would indirectly help a LOT of people.

    I saw the info below on another website ...

    ... Title: Profiling in Visual C++ Express

    ... Subject: Even the Professional Edition of VC++ 2008
    ......lacks profiling support. It is in the very
    ......expensive VC++ Team System (which is, however,
    ......available as a trial download or CD).

    And another thread in this very forum that was posted only a short time ago asks about profiling and the answer given is also "Visual Studio Team System Profiler."

    [[LATER - Visual Studio Team System will not run on that box, it is Win2K]]

    Even if I can only get the address of the whatever it is that is sucking up all that CPU time it could be a help to the developers.

    I would only need the tool(s) for a very limited time so trialware would be fine.
    Last edited by mrpete; January 27th, 2009 at 06:29 AM. Reason: New information came in so the post was changed quite a bit ...

  2. #2
    Join Date
    Aug 2008
    Midwest, USA

    Re: Execution profile wanted of 3rd party app that uses VC++ 9 runtime

    It appears that I cannot run Visual Studio Team System on the machine that is experiencing the problems with the 3rd party app because it is a Windows 2000 box and the supported OSs for Visual Studio Team System are listed below and Win2K is not one of them.

    Supported Operating Systems: Microsoft Windows Server 2003; Microsoft Windows Vista; Microsoft Windows XP

    Undoubted it is because Win2K only supports .NET V1 and V2 and Visual Studio Team System needs .NET 3.5.

    OK ... anybody got a suggestion?

  3. #3
    Join Date
    Feb 2002

    Re: Execution profile wanted of 3rd party app that uses VC++ 9 runtime

    You could try Purify Plus, however I'm not sure how much information you're going to get with a release version of the application. You won't get any function names, or exact starting addresses (due to optimizations).


  4. #4
    Join Date
    Aug 2008
    Midwest, USA

    Thumbs up Re: Execution profile wanted of 3rd party app that uses VC++ 9 runtime

    WOW Viggy that worked GREAT!

    I and the 100 million other users of the app thank you. Thank you very much!

    It couldn't have worked better and it was a piece of cake.

    - Install the software (after giving IBM a dozen pieces of contact info).
    . . . . . . . . . . . . . . . . . . . . . Do I really live on Malta?

    - Run Quantify. Specify the EXE to be profiled.

    - "Tick" the "unmanaged code" attribute. (If it was .NET I would have used ANTS Profiler.)

    - Under settings I chose Time from the Power Tune tab.

    - I've got no source code so the Files tab is pretty blank.

    - I left everything at the defaults in the Run Time tab.

    - The app starts. I do what I need to. I close the app.

    - The top 20 most expensive functions/methods are given in a cool call graph.

    - All functions/methods called/invoked are in a nice table ordered by "top abusers."

    The table has the following info by default:
    Function Time
    F+D time
    F time (% of Focus)
    F+D time (% of Focus)
    Avg F time
    Min F time
    Max F time
    Hidden functions

    The IBM Rational PurifyPlus "suite" is quite nice and the eval/trial version is almost the full version.

    It's also an "unlimited time" evaluation. That's tough to beat. They really want to get the word out. Of course, to get those last few bits of functionality it costs an arm and a leg.

    The current version of ANTS Profiler is in the $400 - $700 per seat range depending on the options (that doesn't include support and upgrades). And, of course, it only does .NET apps.

    IBM Rational PurifyPlus "suite" is $1500 per seat. I have no idea if that includes support and upgrades. The "suite" is Purify, PureCoverage and Quantify (the profiler).

    Again, Thanks Viggy!

  5. #5
    Join Date
    Feb 2002

    Re: Execution profile wanted of 3rd party app that uses VC++ 9 runtime

    No problem. I've been using the Rational tool set since before IBM bought them out. It seems to work quite nicely with Visual Studio (even has plugins to run the Purify tools right from the VS IDE).


Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Windows Mobile Development Center

Click Here to Expand Forum to Full Width

On-Demand Webinars (sponsored)

By using this site, you agree to the Privacy Policy