When you review the Load Library Tracer results, the Report panel displays information on libraries that were loaded in memory at profiling time. The Details panel contains two tables - Module Instances and Call Stack - that display information on loads of the selected library (see the description of the profiler).
Module Instances
Each row of the Module Instances table corresponds to the library load in memory. The panel contains the following columns:
Columns (in alphabetical order) | Description |
---|---|
Delta (ms) | Specifies the difference between the Unload Time and Load Time values. In other words, this column specifies the number of milliseconds when the module instance existed in memory. If the unload time cannot be determined, Delta is 0. |
Load Address | Specifies the address at which the library was loaded. |
Load Time (ms) | Specifies the number of milliseconds that passed since the profiler started and the module was loaded in memory. |
Relocation Occurred | Specifies whether the operating system relocated the library in memory during the load. The relocation occurs, for example, when the operating system loads the library to an address other than the one specified in the library header. |
Thread ID | Specifies the identifier of the thread containing the code that loaded the module in memory. |
Unloaded Thread ID | Specifies the identifier of the thread containing the code that unloaded the module from memory. |
Unload Time (ms) | Specifies the number of milliseconds that passed since the profiler started and the module was unloaded from memory. If the unload time cannot be determined, this column displays 0. |
Note: | If you use a computer that has several processors or a multiple-core processor (for example, dual-core CPU) and has Windows XP Service Pack 2, then you must install the Windows update #896256 in order for the profiler to be able to time your application correctly. The update is available on Microsoft’s web site: |
Call Stack
The Call Stack panel displays the sequence of function calls that led to loading the library in memory. Each row in the panel corresponds to a routine. The panel contains the following columns:
Columns (in alphabetical order) | Description |
---|---|
# | Index of routine in the call stack. The function with index 0 contains calls to API functions that loaded the library in memory. |
Class Name | The name of the class, to which the routine belongs. |
Code Type | Type of the library’s code. Possible values are x86, x64, MSIL, Pseudo, PInvoke, NGen or Byte-code. |
Line No | Number of the source line containing the call to the next routine (the routine having lower index) in the stack. |
Module Name | The name of the module that contains the routine’s code. |
Namespace | The name of the namespace, to which the routine’s source code belong. |
Routine Name | The name of the routine. |
Source File | Name of the source file that contains the routine’s source code. This name is loaded from debug information. If debug info does not contain information on the file name, the column is empty. |
Source Line | The source line number in the source file, at which the routine’s code begins.
|
Token | The routine’s token. |
Unit Name | Name of the unit containing the routine’s source code. |
Note that AQTime retrieves some part of information displayed in the Call Stack from the module’s debug information. So, if the module does not have debug information or the debug information does not contain needed data, some of the Call Stack columns can be empty. To learn how to compile your application with debug information, see topics of the Preparing Applications for Profiling section.
See Also
Load Library Tracer
Load Library Tracer Results
Load Library Tracer
Load Library Tracer - Report Panel