Personal tools
User menu

Knowledge Base/Tools/IBM Rational Purify

From Thalesians

Jump to: navigation, search

Getting IBM Rational Quantify to work on your code

Here we are not concerned with IBM Rational Quantify (ver. Build 6274) integration with Visual Studio (ver. 8.0.50727.762). We want to modify your C++ project properties in such a way that IBM Rational Quantify can instrument your C++ code.

In general, you should make sure that your project properties are set as follows.

  • "Configuration Properties" > "C/C++" > "General" > "Debug Information Format" should be set to "Program Database (/Zi)" (not "Edit & Continue").
  • "Linker" > "General" > "Enable Incremental Linking" should be set to "No (/INCREMENTAL:NO)".
  • "Linker" > "Debugging" > "Generate Debug Info" should be set to "Yes".
  • "Linker" > "Advanced" > "Fixed Base Address" should be set to "Generate a relocation section (/FIXED:NO)".

If after you have made these changes Quantify still fails to instrument your functions correctly, you may want to delete everything under Debug, Release, etc., under your solution directory, rebuild, and try again.

Tips on using IBM Rational Quantify

  • Look at the Call Graph first to get the "big picture", then look at the Function List.
  • In the Function List window, select View → Scale factors → Seconds. This gives you the values in natural units, something you can easily conceptualise.
  • In the same window select View → Precision → dd.dddd. This should be sufficient and still readable.
  • In the same window select View → Display data → function+descendants time. This is very important. When assessing how much impact a particular function has on performance you want to think of it and all its descendants as a single unit.
  • In the same window select View → Restrict functions → Top 100 functions. We don't want to deal with too much data at once. Later we can change this setting to look at more functions.
  • Alternatively, View → Restrict functions → Annotated functions only. This will typically exclude the functions from third-party libraries that Quantify knows about but hasn't instrumented (annotated).
  • Double-click on a function in the Function List. A new window will appear where you can see, among other things, "Contributions from descendants" in descending order. For a detailed view, click on the function and then click on "Show Annotated Source".

Clearing the cache

If Quantify starts coming up with unexpected error messages, sometimes it's a good idea to delete all the files under

C:\Program Files\Rational\PurifyPlus\cache\
  • This page was last modified on 9 February 2010, at 12:06.
  • This page has been accessed 7,121 times.