Linux 软件免费装
Banner图

Tracedown Culprit Finder

开发者 kuber8821
更新时间 2026年10月16日 15:46
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

debug maintenance troubleshooting plugin conflict safe mode

下载

0.1.0

详情介绍:

You cannot get stuck. Tracedown never writes the active_plugins option. Not once, on any code path. It filters the active plugin list in memory, for one signed-in administrator, for the length of one expiring session. Because nothing is written, restoring is not an operation Tracedown has to perform correctly. There is nothing to undo. Doing nothing restores the site when the session expires. Deleting one file restores it instantly. That is a checkable claim, not a slogan. Search this plugin for a write to the active_plugins option, or for a call to core's plugin activation and deactivation helpers, and you will not find one. The build fails automatically if anyone ever adds one. And it names the culprit. Tracedown does not hand you a list of 86 checkboxes to toggle one at a time. It runs a deterministic delta-debugging search (ddmin) over the plugins that were active when the session started and returns a minimal failing set, which stays correct when two plugins only break the site together, the case a naive one-at-a-time or split-in-half search reports as "everything looks fine". How the safety works What it does not do Tracedown states its limits rather than returning a confident wrong answer. Prior art Tracedown is an original, clean-room implementation, but it is not the first plugin to work this way and it does not pretend to be. Health Check & Troubleshooting established the mu-plugin-filters-active_plugins approach that every tool in this category, including this one, depends on. Plugin Detective popularised searching for the conflict rather than making the user toggle plugins by hand. Both are GPL, both are worth your respect, and Tracedown differs from them in architecture rather than in ambition: no write to active_plugins, expiry evaluated on read, and a deterministic minimal-set search.

安装:

  1. Install and activate Tracedown like any other plugin.
  2. Go to Tracedown in the admin menu.
  3. Read the preflight result. If anything is refused, fix that first. Tracedown will not start a partial session.
  4. Start a session. Tracedown writes one file to wp-content/mu-plugins/ and verifies the site still responds before handing control back to you.
  5. Isolate the conflict, copy the report, then exit. Or close the tab: the session expires on its own.

屏幕截图:

  • The result: the smallest set of plugins that still reproduces the fault, and proof that no smaller set does.
  • Probes: the pages and content markers every verdict is built from.
  • Content markers: a piece of text that proves a page is right, so a silent break is not scored as healthy.

常见问题:

What happens if I close the tab and forget about it?

The session ends by itself. Expiry is evaluated every time the safe-mode file loads, so it needs no cron job, no scheduled task, no traffic and no action from you. Nothing was written to the database, so when the session ends the site is exactly as it was.

What happens if my site was already down when I started?

If WordPress cannot start at all, no plugin can help you, including this one. Add define( 'TRACEDOWN_DISABLE', true ); to wp-config.php or delete wp-content/mu-plugins/tracedown-safe-mode.php, and you are back to the state you were in before Tracedown was involved.

Do my visitors see the site with plugins disabled?

No. The filter only applies to requests carrying your signed session cookie. Tracedown also marks its own responses as uncacheable so a page cache or CDN cannot store a safe-mode response and serve it to someone else. There is a button in the session bar that opens a logged-out preview so you can see this for yourself.

Does it deactivate my plugins?

No. It changes what WordPress loads for one request, for one person. The stored list of active plugins is never modified, which is also why Tracedown complies with the WordPress.org rule that a plugin may not change the activation status of other plugins.

Does it work with WP-CLI?

Yes, and safe mode never applies to WP-CLI. wp tracedown status, wp tracedown abort, wp tracedown restore and wp tracedown nuke are registered from the safe-mode file so they keep working even while the plugin itself is filtered out of the active list.

Multisite?

Refused in this version, with a message explaining why. Network, site and subsite activation are three separate states and a partial implementation would be worse than none.

更新日志:

0.1.0