Root > Frequently Asked Questions (FAQ) > Technical FAQ

Technical FAQ

Previous pageReturn to chapter overviewNext page   



Question: Will EurekaLog work, if I compile project from command line? We have a build script on our build server.

Answer: Yes. It is possibly to use EurekaLog with command-line compilation. Please refer to our documentation for more information.



Question: Do I need to distribute any additional files for application compiled with EurekaLog?

Answer: No. EurekaLog-enabled applications are self-contained. All code and data are injected into executable module, so you do not need any additional files. No DLLs, no .map files, no .tds files.



Question: Do I need to deploy OpenSSL's DLLs when using SSL/TLS?

Answer: No. EurekaLog uses WinHTTP API for HTTPS and Security Support Provider Interface (SSPI) for RAW SSL/TLS.



Question: How much does EurekaLog increase compiled file size?

Answer: About 1 Mb of EurekaLog's code (worst case, usually increase is smaller, depends on project settings) plus 5-18% file size of debug information (depends on project settings).


There is a trade-off: better bug reports detalization require more information injected, smaller file size means less available information. For example, you may want to include information for code from RTL and VCL; or you may want to exclude it and only supply information for your own code;
Another trade-off: bigger executable loads faster and takes less memory, smaller executable loads slower and takes more memory - because debug information has to be uncompressed, both compressed and uncompressed data are present in memory.


Here is a sample data: a 40 Mb executable has about 22 Mb .map file. This .map file is processed by EurekaLog to produce a total of 7 Mb (uncompressed) debug information, which consists of:

2 Mb of symbol names (e.g. unit names, class names, routines names);
4 Mb of procedures records;
1 Mb of unit and lines records.

This debug information can be compressed into 3.5 Mb, therefore difference between uncompressed and compressed debug information is 4.5 Mb, meaning:

43.5 Mb .exe when using compression (8% file size increase);
47 Mb .exe when not using compression (17% file size increase).


This debug information can also be stripped from all names, or keeping unit names only (see debug info settings), debug info for RTL / VCL can be reduced - thus making increase even smaller.


There is also code for EurekaLog, which is typically about 1 Mb (exact size may vary depending on your IDE, bitness of your project, and how many standard units it already contain).


See our guide on project settings.



Question: Can EurekaLog decrease an application's performance?

Answer: That depends on your application, but usually - no. That's because EurekaLog is not active in your application at all - until exception will be raised. When exception is raised - EurekaLog collects information. So, if your application raises a lot of exceptions - then yes, EurekaLog can slightly slow down its execution. Note that over-using of exceptions is a bad practice in general. You can solve this by disabling EurekaLog for particular exceptions or for particular code blocks.


There are also memory problems tracing features in EurekaLog. You can disable them for best performance (it will be unaffected). If you enable such features - EurekaLog will collect information about memory blocks in your application. This can slow down your application. Exact estimates depends on your application (how often it allocates/releases memory). Typical slow down is about 5%. This can be worse in certain applications - for example, if you constantly allocate huge amount of small memory blocks.



Question: I do not want to expose my internal code information (routine names, etc.)

Answer: No problem! You can protect your information with password, you can exclude certain code blocks from inclusion (by using {$D-}/{$D+} compiler directives), you can include only unit names and line numbers (but not class and routine names), or you can even offload all names to external file.



Question: Why can't I see "Send" button (and e-mail input field) in exception dialog, even though I set up sending in options?

Answer: This is probably the "Do not save duplicate errors" option working. When exception occurs for the first time - it will be written to log and sent to developer (there will be "Send"/"Don't send" buttons). If the same exception will occur for the second time:

Option "Do not save duplicate errors" is OFF: exception will be proceeded in the same way as first exception;
Option "Do not save duplicate errors" is ON: exception will not be saved in the log file. The number of errors for the first exception in the log will be changed from 1 to 2. And the error dialog will have only "OK" button.


"Same exception" relation is established via BugID property.



Question: My question is not listed in this FAQ?

Answer: Take a look at our video tutorials, another FAQ sections, "How to" section, or contact our support.

Send feedback... Build date: 2019-11-06
Last edited: 2019-06-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: