Root > Advanced topics > Using EurekaLog with other software > Debuggers and profilers

Debuggers and profilers

Previous pageReturn to chapter overviewNext page   

External debuggers and profilers requires source of debug information. You can keep EurekaLog hooks installed. Therefore, your actions to integrate with external debuggers or profiler would be:

1. Configure your project for maximum debugging. Be sure that required debug format option is turned on.
2. Important note: You may want to use --el_DisableDebuggerPresent command-line switch to disable communication between EurekaLog and debugger (such as naming threads and output debug information).
3. You may need help from additional tools.



Example: AQTime

1. Create or open the project.
2. Enable and configure EurekaLog.
a. Set "Linking / Map file" = "Detailed" (Delphi) or "Detailed segment map" (C++ Builder). Be sure that "Map with mangled names" option is turned off (if it's present).
b. Enable "Linking / Debug information" (new Delphi), "Include TD32 debug info" (old Delphi) or "Full debug information" (C++ Builder). Be sure that "Place debug information in separate TDS file" option is turned on (if it's present).
c. Enable "Stack frames", "Debug information", "Use Debug DCUs" and (optionally) "Range checking" options on "Compiling" page (Delphi only).
d. Enable "Debug information" and "Debug line number information" options on "C++ Compiler"/"Debugging" page (C++ Builder only).
4. (Optional) Add --el_DisableDebuggerPresent command-line switch to parameters of your application. Note: EurekaLog could auto-detect AQTime, so adding --el_DisableDebuggerPresent command-line switch is not strictly necessary for AQTime, but it may be required for other 3rd party tools.
6. Run your application with AQTime.
7. AQTime may display a warning about some EurekaLog routines could not be profiled due to small size. You can safely ignore this warning.


If you've done everything correctly - you should see a profiling report after closing application. If you didn't setup your project - then you should see blank report. If you didn't specified --el_DisableDebuggerPresent command-line switch - then your application may crash at start time, because EurekaLog would detect the IDE debugger and try to communicate with it.


Note: EurekaLog files are compiled with debug information by default. This means that you'll see EurekaLog routines in final report. You may want to disable memory/resource leaks checking to reduce noise. You can setup AQTime filtering (please refer to AQTime help system). Or you may recompile EurekaLog with disabled debug information.



See also:

Send feedback... Build date: 2022-03-28
Last edited: 2022-01-14
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.

Permanent link to this article: