Before profiling your executable AQTime prepares it for profiling. This process is called instrumentation. AQTime only profiles routines that were instrumented. Some routines cannot be instrumented and thus cannot be profiled. For each module where you have unmanaged routines that cannot be instrumented, AQTime displays the following dialog to warn you that they will all be excluded from profiling.
The reason that the dialog shows for each unmanaged routine listed can be any of the following:
Reason | Description |
---|---|
Less than 5 bytes | The 32-bit routine occupies less than five bytes of binary code. See Profiling Small Functions for workarounds that will allow you to profile such routines. |
Less than 6 bytes | The 64-bit routine occupies less than six bytes of binary code. See Profiling Small Functions for workarounds that will allow you to profile such routines. |
No ret instruction | The routine is not finished with the ret assembler instruction. See Profiling Routines That Do Not Have the ret Instruction for workarounds that will allow you to profile such routines. |
Unsafe code | The routine contains unsafe code. See Profiling Routines That Have Unsafe Code for workarounds that will allow you to profile such routines. |
No line info | There is debug information for the unmanaged routine you attempt to profile at line level, but this debug info does not include any data about the routine’s source code lines (see How AQTime Profilers Use Metadata and Debug Information). These routines can only be profiled at routine level. |
Duplicated code | The routine contains duplicated code. See Profiling Duplicated Code for workarounds that will allow you to profile such routines. |
Why a routine was not profiled is also displayed in the Analysis Result column in the Report panel. See Performance Profiler Results - Overview.
If you click OK AQTime will ignore the listed routines and continue profiling. Pressing Cancel will cancel profiling. If you do not want to see this dialog in the future, enable the Don't show again flag or disable the Show Uninstrumented Routines dialog option.
See Also
About Profiling Levels
Routines That Cannot Be Profiled
Profiling Small Functions
Profiling Routines That Do Not Have the ret Instruction
Profiling Routines That Have Unsafe Code
Profiling Duplicated Code