ASM Profiler¶
For 32-Bit Applications only.
The profiler can be used to measure the times executing methods as well as viewing the call stack of the application.
sources¶
Original source code can be downloaded from github.
manuals¶
Original description can be found in the wiki section at github.
The profiler can be used in two different modes. It's worth to try both, because everyone has its pros and cons: - instrumenting mode - more exact in counting calls and measuring execution times - better analyzing of results (including small graphs) - sometimes the application gets stuck / freezes - you have to select the methods you want to analyze (so you already have to have an inkling where to search for the delay) - sampling mode - in this mode the profiler takes only snapshots of the callstack. Keep this in mind if you are interested in the amount of calls of a method (better to use implementing mode) - independent from the application, so it cannot freeze the application - the raw callstacks can also be seen (useful for e.g. tracing a deadlock)
You always need to provide the .map - file of the application (for name resolution).
sampling mode¶
Just start the AsmProfiler_Sampling.exe and start profiling.
A small introduction can be found here.
instrumenting mode¶
CAUTION: there are different versions of the AsmProfiler.dll in the repository: Version 1.1.5.0 is the newer one.
to use the instrumenting mode
- you can start the sampling mode and inject the dll to the running application
- therefore you need the AsmProfiler.dll next to the AsmProfiler_Sampling.exe (in the same directory)
- add this to your code if LoadProfilerDll then ShowProfileForm;
- therefore you need the dll next to your applications exe or in the windows dll direcotries
- also have a look at the hints from the author at the wiki