Quantify uses debug line information to collect line-by-line performance data. If debug line information is not available for a module, Quantify times that module.
Quantify uses debug symbol data (typically stored in a module, in .pdb or .dbg files associated with the module, or in .map files) to identify functions. If symbol data is not available for a function, Quantify labels the function UnnamedFunction@<offset> or, in the case of some timed COM functions, UnnamedTimedFunction@<offset>; for example, UnnamedTimedFunction@0x107d38.
To generate debug data, compile and link using the debug switches and then place the debug files in the same directory as the module file before you instrument and run the program. If you are building a test case, include a debug switch such as /Zi or /Zd. For example:
cl /Zi test.cpp
You can also get debug data for the C Runtime library by using the switches /MDd, /MLd, or /MTd, as appropriate.
To generate a .map file, link using the /map option. For example, specifying the following option set compiles Test.cpp as an optimized module, without debug data, but the linker generates a .map file:
cl /O2 test.cpp /link /map
Notes:
§ To use selective instrumentation, modules that you select must have debug data, and .exes must also have relocation data.
§ The Time measurement type is not supported for selective instrumentation.
§ Quantify also requires relocation data to collect data at line or function level. If relocation data is not available for an .exe, Quantify times the functions. Only the .exe's entry point, or the module's exported functions, are included in the dataset; the time of non-exported functions is attributed to their exported callers.
§ By default, Quantify uses UnnamedFunction* and UnnamedTimed* filters to hide unnamed functions, but continues to distribute their time to their callers. To display unnamed functions, disable the appropriate pattern in the Functions tab of the Filter Manager.
§ When Quantify instruments a debug data file, it writes the instrumented file into the cache directory. Quantify reinstruments debug files (.pdb, .map, or .dbg) only when the associated module is reinstrumented.
(C) Copyright IBM Corporation 1993, 2009.