Due to certain limitations, AQTime may not be able to analyze some routines in your application. The reason for which a routine was not profiled is specified in the Analysis Result column of the Report panel (this column is in results of the Performance and Coverage profilers):
- Routines, whose size in binary code does not exceed 5 bytes. A workaround to this issue is described in Profiling Small Functions.
- Routines that do not have the
retinstruction in binary code. A workaround to this issue is described in Profiling Routines That Do Not Have the ret Instruction.
- Routines, which AQTime was not able to instrument safely (that is, the routines that hold unsafe code). Typically, these are the routines, whose binary code is intermixed with data areas. A workaround to this issue is described in Profiling Routines That Have Unsafe Code.
- Routines, whose code coincides with code of another routine (duplicated code). To learn more about this, see Profiling Duplicated Code.
- Routines, for which there is debug information, but this debug info does not include any data about the routine's source code lines. These routines cannot be profiled at line level, they can be profiled at routine level only. Therefore, a workaround is to add these routines to a routine-level area (see also How AQTime Profilers Use Metadata and Debug Information).
- Routines whose binary code is modified during application execution (see Profiling Dynamic Code).