wox-memory-debug

Diagnose memory leaks in the Wox Go UI through automated workload replay and process sampling.

27.3k|2.4k|Updated Dec 19, 2013
One-click install
npx skills add https://github.com/Wox-launcher/Wox --skill wox-memory-debug
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: wox-memory-debug
Source: https://github.com/Wox-launcher/Wox/tree/main/.agents/skills/wox-memory-debug
Command: npx skills add https://github.com/Wox-launcher/Wox --skill wox-memory-debug

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Investigating memory leaks in the Wox launcher requires manually launching debug builds, replaying searches, and watching memory numbers by hand. This Skill automates that entire loop so you can determine whether retained memory actually grows with repeated work or simply reflects normal warm-up behavior.

Core Features & Use Cases

  • Automated Workload Replay: Drives the real Wox debug build through its automation endpoint, replaying deterministic launcher queries and settings-window open/close cycles.
  • Cross-Platform Process Sampling: Samples the same PID on macOS (PhysicalFootprintMB via vmmap) and Windows (PrivateWorkingSetMB) with median-based checkpoints to reduce sampler noise.
  • Leak Classification & Attribution: Classifies results as no leak signal, possible leak, or strong leak signal, and compares Go heap profiles with pprof when growth persists.
  • Use Case: After a user reports Wox memory climbing over days, run the settings lifecycle workload to confirm whether each open/close cycle retains native window resources, then attribute the growth to Go heap or native GPU/window allocations.

Quick Start

Use the wox-memory-debug skill to launch the Wox debug build with the automation endpoint, replay search and settings workloads, and tell me whether memory is leaking.

Frequently Asked Questions about wox-memory-debug

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check Wox for memory leaks?

Launch the Wox debug build under Delve with the wox_automation tag, run warm-up query blocks, then replay measured query and settings open/close workloads while sampling the same PID. Compare post-warm-up checkpoint medians rather than absolute memory values.

How to detect memory leaks in a Go desktop application?

Exercise the UI through repeated deterministic workloads, sample process memory at idle checkpoints, and watch whether the median keeps growing across blocks. If growth persists, capture Go heap profiles before and after the workload and diff them with go tool pprof -base.

Does this memory debugging workflow work on Windows and macOS?

Yes, it supports both platforms with separate samplers: vmmap PhysicalFootprintMB on macOS and PrivateWorkingSetMB via Win32 performance counters on Windows. Never compare absolute values across operating systems; only compare checkpoints from the same PID and OS.

Why does Wox memory stay high after closing the settings window?

Go retains heap arenas after objects become unreachable, and the first settings open caches shared fonts, icons, and renderer resources, so a high footprint alone is not a leak. A leak signal requires median memory to keep rising across at least three consecutive measured blocks.

What should I inspect when process memory grows but the Go heap does not?

Inspect native owners: GPU textures, decoded result icons, preview resources, and platform window allocations. On macOS, compare vmmap summaries and check IOAccelerator and IOSurface residency, since native window and Metal resources can retain memory outside the Go heap.