microscope-dev/microscope

🔬 microscope 🔬

Rust

1,034

1,028 commits

updated Oct 19, 2026

See the code

README

microscope

microscope is a native debugger and profiler for Linux x86-64. It understands C, C++, Rust, Go, Zig, Odin, Fortran, D, Nim, and Ada programs. You can use it in a terminal, in a browser, or through an editor that supports the Debug Adapter Protocol.

microscope is under active development. It does not have a supported installation method or stable release yet.

Documentation

What it can do

microscope can launch a program, attach to a running process, or inspect a core dump. It supports source and instruction stepping, conditional breakpoints, hardware watchpoints, stack traces, expressions, memory, registers, and disassembly.

It presents common containers as their contents instead of their internal fields. It also understands Go goroutines and async Rust tasks. The profiler can record native and logical stacks and open them in the browser interface.

microscope syscalls traces the system calls a program makes, as strace does. By default it uses eBPF, so the traced program never stops.

When debug information or memory is missing, microscope reports what it could not read. It does not fill gaps with guessed values.

Platform support

microscope currently runs on Linux x86-64, version 3.8 or newer. Some features need a newer kernel: catchpoints and the ptrace syscall engine need 5.3, the BPF syscall engine 5.15, and the profiler 6.0.

To read thread-local variables in a program that uses glibc, microscope needs glibc 2.27 or newer. Before glibc 2.34, the program must also have loaded libpthread.

See known limits for details about targets, debug information, and editor support.

Development

Development uses the pinned Nix environment:

just dev

Read AGENTS.md before changing the project. It links to the detailed developer documentation.

License

Licensed under either MIT or Apache-2.0, at your option.

c
cpp
d
debugger
developer-tools
fortran
introspection
linux
o11y
odin
profiler
rust
zig

microscope-dev/microscope

🔬 microscope 🔬

Rust

1,034

1,028 commits

updated Oct 19, 2026

See the code

README

microscope

microscope is a native debugger and profiler for Linux x86-64. It understands C, C++, Rust, Go, Zig, Odin, Fortran, D, Nim, and Ada programs. You can use it in a terminal, in a browser, or through an editor that supports the Debug Adapter Protocol.

microscope is under active development. It does not have a supported installation method or stable release yet.

Documentation

What it can do

microscope can launch a program, attach to a running process, or inspect a core dump. It supports source and instruction stepping, conditional breakpoints, hardware watchpoints, stack traces, expressions, memory, registers, and disassembly.

It presents common containers as their contents instead of their internal fields. It also understands Go goroutines and async Rust tasks. The profiler can record native and logical stacks and open them in the browser interface.

microscope syscalls traces the system calls a program makes, as strace does. By default it uses eBPF, so the traced program never stops.

When debug information or memory is missing, microscope reports what it could not read. It does not fill gaps with guessed values.

Platform support

microscope currently runs on Linux x86-64, version 3.8 or newer. Some features need a newer kernel: catchpoints and the ptrace syscall engine need 5.3, the BPF syscall engine 5.15, and the profiler 6.0.

To read thread-local variables in a program that uses glibc, microscope needs glibc 2.27 or newer. Before glibc 2.34, the program must also have loaded libpthread.

See known limits for details about targets, debug information, and editor support.

Development

Development uses the pinned Nix environment:

just dev

Read AGENTS.md before changing the project. It links to the detailed developer documentation.

License

Licensed under either MIT or Apache-2.0, at your option.

c
cpp
d
debugger
developer-tools
fortran
introspection
linux
o11y
odin
profiler
rust
zig

Significant stargazers

Ben Boeckel

134 followers · starred Feb 2025

Jari Vetoniemi

388 followers · starred Feb 2025

Steven! Ragnarök

400 followers · starred Feb 2025

glepnir

1,746 followers · starred Feb 2025