DebugPress is an easy-to-use plugin implementing popup for debugging and profiling currently loaded WordPress powered website page with support for intercepting AJAX requests. The main debugger window is displayed as a popup, activated through the button with the Bug integrated into WordPress Toolbar, or floating on the page.
The plugin currently has a total of 22 tabs in the popup debugger window, showing all kinds of information relevant to the current page, WordPress setup, background AJAX calls, and much more.
The plugin doesn't modify or replace any WordPress files or functions.
Home and GitHub
Quick Overview Video
https://www.youtube.com/watch?v=-eFnBRLhy-s
Pretty Print for objects
To display the content of objects or arrays, plugin has pretty print functionality through use of simpler PrettyPrint library, or more robust third-party library Kint. You can choose one or the other from the plugin Settings, Advanced tab.
Debugger Panels
Currently, the plugin has the following panels:
- Basic
- Request (optional)
- Query (for frontend only)
- Content (optional)
- Roles (optional)
- Constants (optional)
- Hooks (optional)
- PHP (optional)
- Server (optional)
- Enqueue (optional)
- SQL Queries (if SQL queries logging is enabled)
- User (optional, if user is logged in only)
- HTTP (optional, if HTTP API calls are captured)
- bbPress (optional, on bbPress forum pages only)
- Plugins (optional, if plugins store data)
- Errors (for all captured PHP errors)
- Doing It Wrong (for captured WordPress Doing It Wrong warnings)
- Deprecated (for captured PHP deprecated warnings)
- AJAX (for captured AJAX calls while page is active)
- Store (for any user stored objects during the page loading)
- Tools (internal and external tools links)
- Debug Log (load content on demand from WordPress 'debug.log')
- Layout (control the size, position and activation of the popup)
SQL Queries
This panel lists all the queries WordPress has run. It allows you to order the queries by execution order or length of execution, and all queries can be filtered by the query type, database table it targets or the WordPress function that called it. Every query displays the execution time, order, caller functions stack and fully formatted SQL query that is easy to read. For some Dev4Press created plugins (and that list will grow), DebugPress can detect the source of the query and allow you to filter by the plugin calling the query.
PHP and WordPress Errors
Plugin has 3 panels dedicated to showing PHP and WordPress errors and warnings. The Plugin captures this information during the page load, and it shows full debug trace as returned by the PHP debug tracing function.
AJAX
The plugin tracks every AJAX call coming through WordPress
admin-ajax.php
handler, and with every response, it returns HTTP headers with AJAX request basic execution information. Right now, plugin is not returning a list of logged errors or SQL queries, because both can produce huge output that goes over the HTTP header limits. Plan is to introduce these in the future plugin versions.
Info Panels
In the administration Tools menu, plugin adds DebugPress Info page showing several panels
- PHP Info: full formatted results from
phpinfo()
function
- OPCache Info: full settings and statistics for the OPCache PHP extension
- MySQL Variables: full MySQL settings retrieved from the database
Plugin Settings
The plugin has various options controlling the plugin activation, button integration position, user roles that can see the debugger window, options to attempt overriding WordPress debug flags and options controlling the visibility of optional debugger panels.
Log into Database
Debugger popup is visible for the request running in the browser. But there are many requests that are happening in the background (AJAX calls, REST API calls...), and for them, you can't see errors, call information and other stuff in the debugger. Because of that, DebugPress supports logging of various events into database with the use of 'coreActivity' plugin, and it is highly recommended to install and use coreActivity.
Log various debug events into a database with the free plugin:
coreActivity Plugin, supporting over 120 events and 10 popular WordPress plugins. DebugPress related events will be logged and available for later analysis, and this includes errors, AJAX calls, and HTTP API calls.
Documentation and Support
To get help with the plugin, you can use
WordPress.org support forums, or you can use
Dev4Press.com support forums.