Question: What I need to make EurekaLog-enabled application?
Answer: Install EurekaLog, open your project, enable EurekaLog in options, build your application, done! Now you can get extensive information about problems in your application.

You may also want to adjust default application settings. However, our defaults were carefully choosen to be satisfying for most typical cases.

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 don't need any additional files. No DLLs, no .map files, no .tds files.

Question: Does EurekaLog-enabled application require Internet connection?
Answer: No. You don't need Internet access to run your applications. You can disable sending bug reports and store all reports only locally (or even don't store at all - just show error dialogs).

Question: Do I need Internet connection for my developer machine?
Answer: No. You don't need Internet access on your machine either. EurekaLog do not check license online. EurekaLog installer is self-contained. You can also disable online checking for new EurekaLog version.

Question: How does EurekaLog work?
Answer: EurekaLog integrates itself with Delphi's and C++ Builder's IDE.
When you build your projects: EurekaLog injects all required data into your final executable modules.
When you run your application: EurekaLog installs hooks to catch raising of exceptions and memory allocations.
When exception is raised: EurekaLog collects information about exception.
When memory is allocated: EurekaLog collects information about memory block.
EurekaLog collects information about environment and builds bug reports on your request, when exception is handled or when application exits. EurekaLog uses injected data to build human-readable call stacks to show you address, module name, unit name, class name, routine name and line number. All this behaviour is FULLY customizable.

More details.

Question: But will EurekaLog work, if I compile project from command line? We have build script on our build server.
Answer: Yes. It's possibly to use EurekaLog with command-line compilation. Please refer to our documentation for more information.

Question: How much does EurekaLog increase compiled file size?
Answer: That depends on your desired 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. Typical range of file size increase vary in range 1%-12%. Injected information is always packed and encrypted (EurekaLog uses ZLib and TEA).

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%.

Question: Does EurekaLog work with DLLs and BPLs?
Answer: Yes, it does. EurekaLog also have predefined templates of settings for DLLs and BPLs.

Question: Is there application type which EurekaLog do not support?
Answer: Probably no. We have templates (typical settings) for all common application types. And even if there is no template for your application type - you can just set up options manually. If there is no ready-to-use hook for your application type - you need to invoke EurekaLog from your global exception handler.

Question: Does EurekaLog work with COM-based applications?
Answer: Yes, it does. There is "Catch SafeCall exceptions" option, which is designed to catch exceptions in any COM object.

Question: What does EurekaLog do when it intercepts an error?
Answer: That depends on type of your application. EurekaLog can display error dialog (for GUI-based applications), EurekaLog can write text into console (for console-based applications), EurekaLog can silently log error to system log (for non-visual applications like Win32 services or web-server applications), EurekaLog can produce error HTML page (for web-applications). This behaviour can be fully customized. You can also use your own dialogs.

EurekaLog can also store bug report into file and send it to you (developer) via e-mail, HTTP or FTP upload, and submit to bug tracker software.

Question: Is EurekaLog compatible with .exe compression/protection software?
Answer: Yes, EurekaLog is FULLY compatible with .exe compression/protection software, so you can use those tools without any restrictions. EurekaLog have wide range of customization options.
There are options to keep .map file untouched (if it's required by protection software).
There are options to disable hooks installation (hooks installation can be detected as application's crack).
There are options to use hi-level or low-level hooks (trade detalization for better compatibility).

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), or you can include only unit names and line numbers (but not class and routine names).

Question: What is the file's extension for bug reports?
Answer: It is *.EL for plain-text reports, *.ELP for packed reports (can include screenshot and additional files), *.ELX for XML reports. You can select desired format in options.

Question: How many errors can EurekaLog store in the file log?
Answer: There are no special limits.

Question: Can EurekaLog work in unattended environments?
Answer: Yes, there is no problem. You can disable visual feedback (error dialogs, send progress, etc.), you can set up logging, you can set up automatic bug report sending, you can set up auto-restart options.

Question: Can I ignore exception from 3rd party framework (some badly written code)?
Answer: Yes, of course. You can set up exception filter(s) to ignore particular exception or you can disable EurekaLog for certain code blocks.

Question: What about locatization to other languages?
Answer: No problem. We support any localization tool or even no using localization tool at all. There are wide translation options available. You can localize resourcestrings, you can use Translate-like function (GetText-style) or you can just set up translated strings in options.

Question: Can I ask for feature to add? How about more information in bug reports?
Answer: Yes, sure - we love to hear feedback! You can ask us to add specific feature and additional information. We will add most popular and frequently asked features into next releases of EurekaLog. Unfortunately, not all features can be added. However, EurekaLog allows easy customization. There are many event handlers. So often you can add your desired features by yourself even without having full source code!

Oh, and we have OnCustomDataRequest event, which you can use to insert arbitrary information into bug reports. And you can also add additional files, of course.