AQTime can profile both 32-bit and 64-bit code managed (.NET) and native (non-.NET) code created by popular modern compilers (see Supported Development Tools). However, it cannot work with applications that perform non-standard actions. For example:
-
AQTime is incompatible with some third-party tools that modify the binary code of your application (for example, those that add a custom exception handling mechanism). An example of such a tool is EurekaLog. We recommend that you profile your application before processing it with such tools.
-
Some profiling tools, for instance, VsInstr, may change binary modules and their debug information files during instrumentation and then work with the modified versions of these files. AQTime is unable to produce correct results when profiling the modules modified this way. To obtain the correct results, profile the original version of your modules. VsInstr, for instance, creates a backup copy of the original binary module (FileName.exe.orig) and its debug information file (FileName.instr.pdb). So, you can restore the original versions from these backup files and analyze them.
-
AQTime may be unable to profile applications that operate with a stack or with code or data segments beyond what is used normally. AQTime requires that the profiled application does not perform non-standard actions with the application’s binary code or with the stack. Otherwise, problems can occur. The only way to solve them is to disable the problematic non-standard code.
-
AQTime is unable to profile dynamic code, that is, it is unable to profile routines, whose binary code is modified during the application’s execution (see Process Dynamic Code).
See Also
Supported Development Tools
How AQTime Profilers Use Metadata and Debug Information
Profiling Various Applications and Code
Routines That Cannot Be Profiled
Profiling .NET Applications - Specifics