Difference between revisions of "LazProfiler"
From Free Pascal wiki
Jump to navigationJump to searchLine 55: | Line 55: | ||
When profiling is started the following steps are done: | When profiling is started the following steps are done: | ||
* project is build to test if project is okay | * project is build to test if project is okay | ||
− | * all sources in the projects unit and include directories are | + | * all sources in the projects unit and include directories are backuped (except units below fpc and lazarus source directories) |
* procedures and funtions in units are instrumented with special profiling code | * procedures and funtions in units are instrumented with special profiling code | ||
* project is build with instrumented code | * project is build with instrumented code |
Revision as of 11:21, 17 November 2017
About
LazProfiler is an IDE addon which adds a One-Click-Profiler to Lazarus.
Screenshot
Download
- It's available through Online Package Manager (not yet).
System Requirements / Dependencies
- FPC trunk (needs generics)
- Lazarus trunk (revision 56254 and above)
Installation
- Use Online Package Manager (not yet)
Support page
needs to be set up
Using LazProfiler
Start profiling
- Open your project (if not done already)
- Choose Profile from Run menu:
- Use your program
- Close your program
- study LazProfiler output:
Show output
Cleanup profiler
In case the instrumenting of the sources produce not compileable code
you can reset the profiler and tidy things up by choosing
Cleanup Profiler from Run menu:
Influencing profiling
Hints in source code
By default the profiling automatically starts.
If you just want to profile some parts of your code
you can surround it by two comments:
// start-profiler
code_to_profile;
// stop-profiler
Disable instrumenting
If you want to exclude procedures/functions from beeing instrumented,
just uncheck the checkbox in front of the procedure/function name
in the profiler output window.
How does it works
When profiling is started the following steps are done:
- project is build to test if project is okay
- all sources in the projects unit and include directories are backuped (except units below fpc and lazarus source directories)
- procedures and funtions in units are instrumented with special profiling code
- project is build with instrumented code
- instumented sources are deleted and backups are restored
- program is run with no debugger
- profiling result is shown when program ends
Known issues
- Profiling does not stop counting at ShowModal, ShowMessage, ...