{"id":369274,"date":"2026-09-15T10:08:48","date_gmt":"2026-09-15T10:08:48","guid":{"rendered":"https:\/\/fr.wordpress.org\/plugins\/tlloancy-stack-trace\/"},"modified":"2026-09-15T10:08:37","modified_gmt":"2026-09-15T10:08:37","slug":"tlloancy-stack-trace","status":"publish","type":"plugin","link":"https:\/\/de.wordpress.org\/plugins\/tlloancy-stack-trace\/","author":22011295,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"TLloancy Stack Trace","header_author":"Tomy Lloancy","header_description":"Logs fatals, swallowed exceptions, and memory crashes with SQL, memory, file\/line, and the plugin involved. Tools \u2192 Stack Trace.","assets_banners_color":"aab3bb","last_updated":"2026-09-15 10:08:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/deter-mi.net\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"tlloancy","date":"2026-09-15 10:08:37","revision":3696705}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3696705,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3696705,"resolution":"256x256","location":"assets","locale":"","width":1024,"height":1024}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3696705,"resolution":"1544x500","location":"assets","locale":"","width":1280,"height":720},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3696705,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[5790,94,14925,22682,9434],"plugin_category":[59],"plugin_contributors":[232640],"plugin_business_model":[],"class_list":["post-369274","plugin","type-plugin","status-publish","hentry","plugin_tags-crash","plugin_tags-debug","plugin_tags-error-log","plugin_tags-fatal-error","plugin_tags-memory","plugin_category-utilities-and-tools","plugin_contributors-tlloancy","plugin_committers-tlloancy"],"banners":{"banner":"https:\/\/ps.w.org\/tlloancy-stack-trace\/assets\/banner-772x250.png?rev=3696705","banner_2x":"https:\/\/ps.w.org\/tlloancy-stack-trace\/assets\/banner-1544x500.png?rev=3696705","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tlloancy-stack-trace\/assets\/icon-128x128.png?rev=3696705","icon_2x":"https:\/\/ps.w.org\/tlloancy-stack-trace\/assets\/icon-256x256.png?rev=3696705","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>TLloancy Stack Trace records PHP fatals (memory exhausted, parse error, and similar), uncaught exceptions, <code>wp_die<\/code> failures, and exceptions that a third-party plugin caught so the site would not white-screen.<\/p>\n\n<p>Each row stores:<\/p>\n\n<ul>\n<li>The last SQL that actually belongs to the crash (from <code>$wpdb<\/code>, or from a small adapter when a plugin talks to MySQL outside <code>$wpdb<\/code>)<\/li>\n<li>Memory usage, peak, and the configured limit<\/li>\n<li>File and line<\/li>\n<li>The plugin, theme, or core component most likely involved<\/li>\n<li>The request URL<\/li>\n<\/ul>\n\n<p>Entries live in a dedicated table, under Tools \u2192 Stack Trace. You can export CSV or clear the log.<\/p>\n\n<p>This is not a debug.log viewer and not a live profiler. Generic log plugins tail PHP or WordPress logs. Stack Trace records <strong>why a request died<\/strong>: the SQL that belongs to the crash (including plugins that never set <code>$wpdb-&gt;last_query<\/code>), memory at the limit, and exceptions another plugin caught so the site would not white-screen. Typical case: an All-in-One WP Migration export that fails with \u201crefresh and try again\u201d while the real cause is a 128M SELECT or a full disk.<\/p>\n\n<p>It is for the morning after: the site crashed, nobody was watching, and you want the cause.<\/p>\n\n<h4>Plugins that bypass $wpdb<\/h4>\n\n<p>Some exporters (All-in-One WP Migration among them) run SQL on <code>$wpdb-&gt;dbh<\/code> directly. <code>$wpdb-&gt;last_query<\/code> is then empty or already overwritten (cron, Action Scheduler). Stack Trace keeps SQL in memory via adapters and, on failure, can read that plugin's own error-log <code>last_query<\/code> field. It does not edit third-party files and does not hook their export pipeline as a stage.<\/p>\n\n<h4>Automatic update failure emails (WordPress 7.2+)<\/h4>\n\n<p>A failed automatic plugin update already includes the fatal message, file, and line. Stack Trace adds memory and last SQL from the same loopback check, with a link to the full log.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>tlloancy-stack-trace<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin from the Plugins screen.<\/li>\n<li>Open the log under Tools \u2192 Stack Trace.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20slow%20the%20site%20down%3F\"><h3>Does this slow the site down?<\/h3><\/dt>\n<dd><p>On a normal request the cost is a shutdown callback that returns immediately unless PHP reports a fatal. A row is written only when something is recorded. Adapters add work only for the target plugin's AJAX (for example an All-in-One export hop): a header check on success, disk I\/O only on failure.<\/p><\/dd>\n<dt id=\"how%20many%20entries%20are%20kept%3F\"><h3>How many entries are kept?<\/h3><\/dt>\n<dd><p>300 by default. Older rows are pruned when you open the admin page. Override the limit with <code>TLLST_MAX_ENTRIES<\/code> in wp-config.php.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20change%20other%20plugins%27%20files%3F\"><h3>Does the plugin change other plugins' files?<\/h3><\/dt>\n<dd><p>No. It does not reorder <code>active_plugins<\/code> and it does not patch files on disk.<\/p><\/dd>\n<dt id=\"why%20is%20the%20last%20sql%20not%20always%20from%20%24wpdb%3F\"><h3>Why is the last SQL not always from $wpdb?<\/h3><\/dt>\n<dd><p>If the crash is inside a known custom MySQL client, <code>$wpdb-&gt;last_query<\/code> is often unrelated. The adapter's in-memory SQL (or that plugin's error log) is used instead.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Fatals, swallowed exceptions, and memory crashes with SQL, memory, file\/line.<\/li>\n<li>Adapter for All-in-One WP Migration (observe only).<\/li>\n<li>WordPress 7.2 automatic update failure emails include memory and last SQL from the loopback check, per failed plugin.<\/li>\n<\/ul>","raw_excerpt":"Logs fatal errors, memory crashes, and exceptions swallowed by other plugins, with SQL, memory, file\/line, and the plugin involved.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/369274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=369274"}],"author":[{"embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tlloancy"}],"wp:attachment":[{"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=369274"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=369274"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=369274"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=369274"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=369274"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/de.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=369274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}