Currently viewing the human version
Switch to AI version

Zed's Debugger Finally Shipped

Zed's debugger shipped in June 2025 after months of development. No more switching to VS Code every time you need to step through code.

Zed Debugger Interface

What Actually Works Now (And What Doesn't)

The debugger supports Rust, Go, Python, JS/TS, and C/C++ through the Debug Adapter Protocol. It interfaces with GDB and LLDB so you get the same debugging you'd expect from VS Code or IntelliJ.

Supported debugging features:

  • Breakpoints with conditional logic
  • Variable inspection and modification
  • Call stack navigation
  • Step-through debugging (into, over, out)
  • Watch expressions
  • Multi-threaded debugging
  • Remote debugging via SSH

Languages with full debugging support:

  • Rust: rust-analyzer + CodeLLDB adapter
  • Go: gopls + Delve debugger
  • Python: pyright + debugpy adapter
  • JavaScript/TypeScript: Built-in V8 debugging
  • C/C++: clangd + CodeLLDB/GDB

At least they didn't rely on extensions that break every update. Built directly into Zed's Rust core.

OK, rant about VS Code over. Here's why Zed actually feels faster...

Zed feels way snappier than VS Code when debugging. I don't give a shit about exact milliseconds - it just doesn't lag when you're stepping through code.

What you'll notice:

  • Breakpoints hit immediately instead of VS Code's "preparing debugger" bullshit
  • Variable inspection doesn't freeze the UI like it does with some VS Code extensions
  • Stepping through code stays responsive even in long debugging sessions

GPU-accelerated rendering means complex debugging sessions don't slow down the interface. When you're stepping through thousands of iterations or inspecting large data structures, Zed stays responsive.

Memory Usage: Actually Reasonable

Zed's memory usage is way better than VS Code, especially when debugging. My laptop doesn't sound like a jet engine anymore when I debug a React app with 500 components.

Instead of VS Code's gradual memory leak hell, Zed stays around 800MB even during 8-hour debugging sessions. No more restarting the editor because it ate 12GB of RAM.

The AI integration is fast - they optimized the hell out of it with TensorRT-LLM and custom caching. Same tricks work for debugging performance.

Rust Programming Language

How It Actually Works

No more fucking around with VS Code debugging extensions that break every update.

Just works: Click debug button, breakpoints hit. No "preparing debugger" loading screens or extension activation delays.

Remembers your setup: Breakpoints stay where you put them across editor restarts. Shocking concept, I know.

Multi-language debugging: Debug your Rust backend and TypeScript frontend without switching editors or losing your mind.

Doesn't leak memory: Long debugging sessions don't gradually turn your laptop into a space heater like VS Code does.

Platform Reality Check

macOS: Works great. LLDB integration handles code signing automatically so you don't have to mess with certificates like some other editors. Had it running for weeks debugging our iOS app backend without issues.

Linux: Uses GDB/LLDB. If you have shitty old Intel graphics (pre-2016), you might hit performance issues. Update your drivers or get better hardware. On Ubuntu 20.04 with old Mesa drivers, had constant Vulkan crashes until I upgraded.

Windows: Still in alpha. Basic debugging works but expect it to crash with STATUS_ACCESS_VIOLATION errors. On Windows, you need to run this as admin or it fails silently with debugging permissions. Crashed on me 3 times debugging a simple Node.js app last week.

What Works and What Doesn't

Docker debugging: Works fine with SSH remoting and port forwarding. No special extensions needed.

Test debugging: Supports pytest, Jest, Go tests, and Rust tests. Just configure your debug launch settings.

Config sharing: Debug configurations are JSON files you can commit to git. Teams can share setups without the workspace bullshit that breaks when you switch machines.

Missing Stuff (Be Aware)

Zed's debugger is good but not perfect:

No embedded debugging: Can't debug ARM microcontrollers like VS Code's Cortex-Debug extension.

Basic debugging panels: Missing memory viewers, register inspectors, and disassembly views that hardcore debuggers expect.

No database debugging: Can't debug stored procedures or optimize queries like some VS Code extensions allow.

For typical web/CLI/desktop app debugging, Zed works fine. For specialized debugging needs, you might still need other tools.

Making Zed Even Faster (If You Care)

Zed is already fast, but you can make it faster if you don't completely fuck up the configuration. Here's what actually matters.

GPU Acceleration: Why It Doesn't Suck

Zed actually uses your GPU through its GPUI framework. This means smooth scrolling through huge files while VS Code lags like shit. The GPU rendering was inspired by game engine design and uses Vulkan on Linux and Metal on macOS.

Zed Debugger Interface

Vulkan Graphics API

Your GPU needs:

  • Not ancient drivers: Anything from 2018+ should work
  • Enough VRAM: 4GB+ for big projects (no, you don't need a gaming GPU)
  • Proper API support: Vulkan on Linux, Metal on macOS

What breaks GPU performance:

  • Old Intel graphics: Pre-2016 Intel GPUs have issues with Mesa drivers
  • VMs without GPU passthrough: Software rendering is slow as hell
  • Remote desktop: Kills hardware acceleration, use SSH remoting instead
  • Outdated drivers: Update your NVIDIA or AMD drivers

Recent Zed updates fixed GPU memory leaks that used to force editor restarts during long sessions. If you're still hitting vulkan: Out of device memory errors, update to Zed 0.142.0+ and restart your GPU drivers. Had this exact error kill a 6-hour debugging session on Zed 0.141.2 - lost all my breakpoints and watch expressions.

Language Servers: The Real Performance Killer

Zed is fast, but language servers will still eat your RAM and CPU. At least Zed makes it obvious which language server is being a resource hog, unlike VS Code where everything just feels slow.

Language Server Memory Usage Reality Check:

rust-analyzer still eats ridiculous amounts of RAM (like 4GB on our project), TypeScript is worse. At least Zed shows you which language server is being a memory hog.

Performance optimization strategies:

{
  "lsp": {
    "rust-analyzer": {
      "settings": {
        "rust-analyzer": {
          "cargo": {
            "features": "none"  // Disable unused features
          },
          "procMacro": {
            "enable": false     // Disable for performance-critical sessions
          }
        }
      }
    }
  }
}

Critical performance settings:

{
  "file_scan_exclusions": [
    "**/node_modules", "**/target", "**/__pycache__",
    "**/dist", "**/build", "**/.git"
  ],
  "git": {
    "git_gutter": "tracked_files"  // Don't scan untracked files
  }
}

Monorepo Performance: Scaling Beyond VS Code

Large codebases expose Zed's architectural advantages. Where VS Code becomes unusable above certain project sizes, Zed's native implementation continues performing linearly.

Large projects expose where VS Code falls apart. On our monorepo with like 80k files, VS Code takes forever to start and eventually crashes. Zed handles it fine.

Real monorepo optimization example:

For a React + Node.js monorepo with 85,000 files:

{
  "file_scan_exclusions": [
    "**/node_modules",
    "**/packages/*/dist",
    "**/packages/*/build",
    "**/.next",
    "**/coverage"
  ],
  "languages": {
    "TypeScript": {
      "code_actions_on_format": {
        "source.organizeImports": false  // Disable on large projects
      }
    }
  }
}

This configuration reduced project load time from 45 seconds to 12 seconds and language server memory usage from 12GB to 4GB. If it's still fucked, delete ~/.local/share/zed and start over - takes 5 minutes if you're lucky, 2 hours if not. Found this out the hard way when our TypeScript monorepo brought the entire dev team's laptops to their knees for a week.

AI Performance: The Tricks Zed Used

The tricks Zed used to speed up AI also make debugging faster. Same memory pooling and async I/O patterns that keep Claude responses snappy.

They did some optimization tricks for AI responses that apparently work for debugging too. Something about batching DAP commands and async message handling - don't ask me about the technical details, but stepping through code doesn't block the UI.

These same tricks work for local development:

{
  "assistant": {
    "version": "2",
    "provider": {
      "name": "ollama",
      "settings": {
        "model": "qwen2.5-coder:1.5b",  // Smaller model for faster responses
        "low_speed_timeout_ms": 5000     // Fail fast on slow responses
      }
    }
  }
}

Performance Monitoring: What to Watch

Zed shows you actual performance metrics instead of VS Code's "everything is slow but we won't tell you why".

GPU performance indicators:

  • Frame rate consistency (should maintain 60fps minimum)
  • GPU memory usage (check Activity Monitor on macOS, nvidia-smi on Linux)
  • Driver crash recovery (system logs will show GPU driver resets)

Language server health:

  • Memory growth over time (restart LSP if exceeding 8GB)
  • Response latency for code completion (should be <100ms)
  • CPU usage spikes during file saves

File system performance:

  • Project scan time (should complete within 30 seconds for most projects)
  • Git operations responsiveness (status, blame, diff)
  • Search result latency across entire codebase

Hardware Reality Check:

Hardware Recommendations for Optimal Performance

From what I've seen in the community:

Minimum viable setup:

  • 16GB RAM (32GB for large TypeScript projects)
  • Modern GPU with 4GB+ VRAM
  • SSD storage (NVMe preferred for large projects)
  • Post-2018 graphics drivers

Professional development setup:

  • 32GB+ RAM for monorepo development
  • Dedicated GPU or modern integrated graphics
  • NVMe SSD with 10GB+ free space for language server caches
  • Multiple monitors (Zed handles multi-monitor setups efficiently)

What doesn't help:

  • More CPU cores beyond 8 (Zed doesn't need a Threadripper to edit text files)
  • Extremely high-end GPUs (an RTX 4090 won't make your code compile faster)
  • Complex cooling solutions (Zed actually runs cool, unlike Chrome with 47 tabs)

Network Performance: Remote Development

Zed's SSH remoting has lower latency than VS Code's remote development extensions:

Network optimization settings:

{
  "terminal": {
    "env": {
      "TERM": "xterm-256color"  // Reduces terminal rendering overhead
    }
  },
  "collaboration_panel": {
    "button": false            // Disable if not using collaboration
  }
}

Remote development performance tips:

  • Use connection multiplexing in SSH config
  • Disable real-time collaboration features for remote sessions
  • Configure local Git operations instead of remote Git commands
  • Use Zed's project switching instead of multiple editor windows

The native implementation means network latency affects only file operations, not interface responsiveness - a significant advantage over web-based remote development solutions.

Copy this to fix SSH lag:

## Add to ~/.ssh/config
Host *
    ControlMaster auto
    ControlPath ~/.ssh/sockets/%r@%h-%p
    ControlPersist 600
    Compression yes

Debugging and Performance FAQ

Q

Why does my debugger session crash when debugging Rust macros?

A

Macro debugging is fucked because rust-analyzer 0.3.1743+ generates weird debugging info that confuses LLDB with signal SIGTRAP errors. Workaround that sometimes works: Set breakpoints in the actual macro code, not the generated garbage. Or just throw dbg!() macros everywhere like the rest of us. I spent 4 hours debugging a serde_derive macro before giving up and using print statements.

Q

My TypeScript debugging is slow compared to VS Code. What's wrong?

A

Zed's TypeScript debugging uses the same DAP protocol as VS Code, but performance depends heavily on your vtsls configuration. Check your settings: Disable source.organizeImports and source.addMissingImports for large codebases. If you're debugging a Next.js or React app, use Zed's built-in JavaScript debugging instead of TypeScript debugging for better performance.

Q

GPU acceleration isn't working - how do I force software rendering?

A

Your GPU drivers are probably fucked. Set GPUI_BACKEND=software to force software rendering, but Zed will be slow as hell. Check your drivers first: Run vulkaninfo on Linux or check Console.app on macOS for GPU driver crashes. Update your drivers before giving up on hardware acceleration.

Q

Language servers consume too much memory. How do I limit them?

A

Language servers love eating RAM. Zed can't limit them directly, but you can configure each one. rust-analyzer: Disable proc macros and unused cargo features. TypeScript: Lower the maxTsServerMemory in vtsls config. Nuclear option: When memory hits 8GB+, restart the language server with Cmd+Shift+P
→ "zed: restart language server" or just restart Zed if you're feeling lazy.

Q

Can I debug Docker containers directly from Zed?

A

Yes, but it requires proper setup. Remote debugging: Use SSH remoting to connect to your container, then debug normally. Port forwarding: Configure your container to expose debugging ports (like 5678 for Python debugpy). Docker Compose: Mount your source code and use remote debugging configuration. Unlike VS Code, there's no "Dev Containers" equivalent yet.

Q

Why is my debugging session freezing on Ubuntu?

A

This usually means GPU driver issues with Vulkan. Check compatibility: Run vulkaninfo to verify Vulkan support. Workaround: Use GPUI_BACKEND=software for debugging sessions. Permanent fix: Update to Ubuntu 22.04+ with modern Mesa drivers, or install proprietary NVIDIA drivers if using NVIDIA hardware.

Q

Performance suddenly degraded after a Zed update. How do I troubleshoot?

A

Recent Zed updates changed GPU memory allocation. Check logs: Look at ~/.local/share/zed/logs/Zed.log for "memory allocation" errors. Reset GPU cache: Delete ~/.local/share/zed/gpui directory and restart. Downgrade: Use Zed's preview releases to test different versions if the stable release has regressions.

Q

My M1 Mac debugging Python is extremely slow. What's happening?

A

Apple Silicon Python debugging sometimes conflicts with Rosetta translation layers. Ensure native Python:

Use Python from Homebrew (brew install python@3.11) or the python.org native ARM installer

  • the system Python is fucked on M
  1. Check architecture: Run python -c "import platform; print(platform.machine())"
  • should return "arm64", not "x86_64". debugpy configuration: Use the latest debugpy version (1.8.0+) for proper Apple Silicon support. Took me 3 hours to figure out why debugging was taking 30 seconds per breakpoint
  • turns out I was running x86_64 Python through Rosetta like an idiot.
Q

Can I debug multiple languages simultaneously?

A

Yes, Zed supports multiple active debugging sessions. Setup:

Configure separate launch configurations for each language in your project settings. Limitation: The debugging UI shows one session at a time

  • switch between them in the debug panel. Memory warning: Multiple debugging sessions increase memory usage significantly (2-4GB per session with language servers).
Q

File watching is slow on large projects. How do I optimize it?

A

Zed's file watcher can struggle with projects containing 100,000+ files. Essential exclusions:

Add node_modules, target, .git, and build directories to file_scan_exclusions. inotify limits: On Linux, increase fs.inotify.max_user_watches to 524288 or higher. Network drives: Avoid opening projects on network-mounted filesystems

  • copy locally first.
Q

Remote debugging over SSH is laggy. Can I improve it?

A

SSH debugging latency depends on network optimization. SSH multiplexing:

Configure ControlMaster auto and ControlPersist 10m in your SSH config. Compression: Enable SSH compression with Compression yes. Local operations:

Use local Git operations and avoid remote file system operations during debugging. Connection quality: Ensure stable network

  • even 100ms latency compounds during step-through debugging.
Q

Why does Zed use more GPU memory than advertised?

A

Zed's GPU memory usage scales with project size and number of open files. Base usage: 200-400MB for the editor itself. Per-file overhead: Additional 1-2MB per open file for syntax highlighting and rendering. Language servers: Additional 2-8GB depending on project complexity. Memory leaks: Restart Zed if GPU memory exceeds 2GB for basic editing tasks.

Q

Breakpoints aren't working in my Go application. What's missing?

A

Go debugging requires specific build flags for debugging information. Build with debug info: Use go build -gcflags="all=-N -l" to disable optimizations. Module path: Ensure your module path in go.mod matches your debugging configuration. Delve version: Update to Delve 1.21.0+ for best Zed compatibility. GOPATH issues: Use Go modules instead of GOPATH-based projects for reliable debugging.

Q

Can I use Zed's debugger with Jest or Pytest testing frameworks?

A

Yes, but requires proper configuration. Jest debugging:

Use Node.js debugging configuration with --inspect-brk flag. Pytest debugging: Configure Python debugging with appropriate test command and working directory. Test discovery: Zed doesn't auto-discover tests yet

  • you need to manually configure debug launch settings for your test commands.
Q

Performance is terrible on Windows WSL2. Is this fixable?

A

WSL2 performance limitations are fundamental to the virtualization layer. File system: Keep your project files on the Linux filesystem (/home/user/), not Windows filesystem (/mnt/c/). GPU acceleration: WSL2 GPU support requires Windows 11 and proper driver setup. Alternative: Use Zed's SSH remoting to connect to a Linux VM or remote server for better performance.

Q

My language server keeps crashing during debugging sessions. Why?

A

Debugging adds memory pressure that can trigger language server instability. Memory monitoring:

Check language server memory usage during debugging

  • restart if exceeding 8GB. Concurrent limitations: Some language servers don't handle debugging and normal editing simultaneously well. Configuration: Reduce language server features during debugging sessions by disabling auto-imports and complex analysis features.

**Editor Performance & Debugging Comparison:**

Aspect

Zed

VS Code

JetBrains IDEs

Debugging Setup Time

Just works (built-in)

Extension hell (5+ minutes to get working)

Already configured

Debugger Performance

Fast breakpoints

VS Code lag varies by extension luck

Fast but heavy

Memory Usage (Debugging)

Reasonable (500MB-1GB)

Memory hog (1.5GB+)

RAM destroyer (3GB+ and your laptop becomes a space heater)

Supported Languages

Rust, Go, Python, JS/TS, C/C++

All languages via extensions

Language-specific IDEs

Remote Debugging

SSH remoting built-in

Remote extensions required

Built-in remote development

Multi-language Debugging

Multiple simultaneous sessions

Good extension support

Excellent built-in support

Performance Monitoring

Native GPU/CPU metrics

Extension-dependent

Built-in profiling tools

Configuration Complexity

JSON configuration files

Mix of JSON and GUI settings

Mostly GUI with XML export

Project Load Time

Fast startup (2-15s)

Slow startup (10-45s+)

Slow but thorough (30-60s)

GPU Acceleration

Actually uses GPU

None (because Electron architecture is garbage)

Barely any

Large File Performance

Smooth scrolling

Lags on big files

Usually fine

Language Server Integration

Direct Rust integration

Extension-based

Built-in, highly optimized

Breakpoint Management

Fast, persistent across sessions

Good with extensions

Excellent, advanced features

Variable Inspection

Instant expansion

Can be slow with large objects

Very fast, sophisticated views

Watch Expressions

Basic but fast

Full-featured

Advanced with custom renderers

Call Stack Navigation

Clean, responsive

Full-featured

Excellent with inline values

Error Recovery

Handles GPU driver crashes

Extension crashes affect debugging

Robust, rarely crashes

Platform Support

macOS, Linux (Windows alpha)

All platforms

All platforms

Related Tools & Recommendations

compare
Recommended

Cursor vs GitHub Copilot vs Codeium vs Tabnine vs Amazon Q - Which One Won't Screw You Over

After two years using these daily, here's what actually matters for choosing an AI coding tool

Cursor
/compare/cursor/github-copilot/codeium/tabnine/amazon-q-developer/windsurf/market-consolidation-upheaval
100%
review
Similar content

I Got Sick of Editor Wars Without Data, So I Tested the Shit Out of Zed vs VS Code vs Cursor

30 Days of Actually Using These Things - Here's What Actually Matters

Zed
/review/zed-vs-vscode-vs-cursor/performance-benchmark-review
88%
integration
Recommended

Getting Cursor + GitHub Copilot Working Together

Run both without your laptop melting down (mostly)

Cursor
/integration/cursor-github-copilot/dual-setup-configuration
71%
tool
Similar content

Zed Configuration That Actually Works in Production

Stop fighting with broken language servers and flaky vim mode. Here's how to make Zed not suck for actual development work.

Zed
/tool/zed/advanced-configuration
56%
tool
Similar content

Zed Editor - Fast as Hell Editor That Finally Doesn't Eat Your RAM

Explore Zed Editor's performance, Rust architecture, and honest platform support. Understand what makes it different from VS Code and address common migration a

Zed
/tool/zed/overview
53%
alternatives
Recommended

Cloud & Browser VS Code Alternatives - For When Your Local Environment Dies During Demos

Tired of your laptop crashing during client presentations? These cloud IDEs run in browsers so your hardware can't screw you over

Visual Studio Code
/alternatives/visual-studio-code/cloud-browser-alternatives
44%
tool
Recommended

Stop Debugging Like It's 1999

VS Code has real debugging tools that actually work. Stop spamming console.log and learn to debug properly.

Visual Studio Code
/tool/visual-studio-code/advanced-debugging-security-guide
44%
tool
Recommended

Stop Fighting VS Code and Start Using It Right

Advanced productivity techniques for developers who actually ship code instead of configuring editors all day

Visual Studio Code
/tool/visual-studio-code/productivity-workflow-optimization
44%
troubleshoot
Recommended

Fix Complex Git Merge Conflicts - Advanced Resolution Strategies

When multiple development teams collide and Git becomes a battlefield - systematic approaches that actually work under pressure

Git
/troubleshoot/git-local-changes-overwritten/complex-merge-conflict-resolution
42%
news
Recommended

DeepSeek V3.1 Launch Hints at China's "Next Generation" AI Chips

Chinese AI startup's model upgrade suggests breakthrough in domestic semiconductor capabilities

GitHub Copilot
/news/2025-08-22/github-ai-enhancements
42%
integration
Recommended

GitOps Integration Hell: Docker + Kubernetes + ArgoCD + Prometheus

How to Wire Together the Modern DevOps Stack Without Losing Your Sanity

git
/integration/docker-kubernetes-argocd-prometheus/gitops-workflow-integration
42%
tool
Recommended

Windsurf MCP Integration Actually Works

competes with Windsurf

Windsurf
/tool/windsurf/mcp-integration-workflow-automation
38%
troubleshoot
Recommended

Windsurf Won't Install? Here's What Actually Works

competes with Windsurf

Windsurf
/troubleshoot/windsurf-installation-issues/installation-setup-issues
38%
review
Recommended

GitHub Copilot Value Assessment - What It Actually Costs (spoiler: way more than $19/month)

integrates with GitHub Copilot

GitHub Copilot
/review/github-copilot/value-assessment-review
38%
review
Recommended

Claude vs ChatGPT: Which One Actually Works?

I've been using both since February and honestly? Each one pisses me off in different ways

Anthropic Claude
/review/claude-vs-gpt/personal-productivity-review
38%
tool
Recommended

Claude Sonnet 4 - Actually Decent AI for Code That Won't Bankrupt You

The AI that doesn't break the bank and actually fixes bugs instead of creating them

Claude Sonnet 4
/tool/claude-sonnet-4/overview
38%
tool
Recommended

Claude Code - Debug Production Fires at 3AM (Without Crying)

integrates with Claude Code

Claude Code
/tool/claude-code/debugging-production-issues
38%
tool
Popular choice

jQuery - The Library That Won't Die

Explore jQuery's enduring legacy, its impact on web development, and the key changes in jQuery 4.0. Understand its relevance for new projects in 2025.

jQuery
/tool/jquery/overview
38%
compare
Similar content

I Ditched VS Code After It Hit 7GB RAM. Here's What Happened.

My laptop was dying just from opening React files

Zed
/compare/visual-studio-code/zed/developer-migration-guide
37%
tool
Popular choice

Hoppscotch - Open Source API Development Ecosystem

Fast API testing that won't crash every 20 minutes or eat half your RAM sending a GET request.

Hoppscotch
/tool/hoppscotch/overview
37%

Recommendations combine user behavior, content similarity, research intelligence, and SEO optimization