Debugging EFL Applications

While the process of developing with the Enlightenment Foundation Libraries should be a smooth one, bugs are an inevitability of the programming process. The following documentation will provide you with tools and resources that will allow you to track down the source of these bugs quickly and easily, getting your development back on track with a minimum of fuss.

Recompiling with Debug Symbols

Recompiling with Debug Symbols demonstrates how to get the most out of the available debugging tools by compiling your application and the EFL with debugging symbols activated.

Log Levels

Log Levels explains the different verbosity levels of EFL's Eina_Log method, allowing you to control the amount of information recorded and better document the issue you have encountered.

Language Specific Debugging

EFL applications can be written in a variety of languages. These sections provide hands-on examples using the GNU Debugger, Valgrind, and Clouseau tools using code from the following programming languages:

Reporting EFL Bugs

If you believe a bug lies in EFL itself, rather than in your application, then please report the issue via the Phabricator ticketing system. Don't send bug reports and patches to the Enlightenment mailing list; the list system strips most patches and bug reports can get lost if they're only discussed on the mailing list. If more discussion is needed then add a Phabricator bug report before or after the discussion on the mailing list to enable the issue to be properly tracked.

Always test multiple times to make sure there really is a reproducible bug before making a ticket, in order to avoid unnecessary tickets. Please ensure that issues aren't related to modified system settings, as per Ticket T1145. Please draft and check your ticket thoroughly before submitting it; the ticket system tracks and alerts on every edit, so a constant stream of modifications as per Ticket T1143 creates unnecessary noise and slows the process down.

If the debugging process produces large log files, please attach these as file uploads rather than by copying and pasting their content directly into the ticket body. If reporting a visual bug, please test with the default theme; support is not provided for third-party themes, and bugs related to these themes must be sent directly to the theme's author.