Lensm is a Go assembly and source viewer that displays compiled binaries alongside their source code and disassembly in an interactive graphical interface.
The tool solves the problem of understanding what compiled code actually does by showing Go assembly, native assembly, and source code side by side. It works by reading symbol tables and DWARF debug information from binaries, then rendering them in a GUI where developers can navigate between functions, inspect individual instructions with hover tooltips that explain their behavior, and filter by function name. The `-watch` flag enables live reloading when the binary changes, supporting iterative development workflows.
Lensm suits developers debugging performance issues, understanding compiler behavior, or learning how Go compiles to machine code. It works with binaries built on the local machine and also handles C and C++ programs compiled with debug symbols, automatically demangling C++ and Rust symbols to keep overloads distinct. The tool includes an MCP server mode that exposes its analysis capabilities over stdio, allowing integration with other tools, and supports persistent comments stored in a sidecar JSON file that merge changes from concurrent GUI and server processes.
The project maintains active development across multiple platforms, with CI builds producing installable macOS disk images for both Apple Silicon and Intel architectures. Platform-specific build options exist for Linux, allowing developers to skip Wayland or X11 support as needed. The codebase uses Gio for its graphical interface and includes comprehensive keyboard navigation, selection, and copying features for working with assembly and source blocks.