About
The project
DBG Desk connects GDB on your computer to a browser interface, bringing instructions, registers, memory, and the call stack into one workspace. Execution and data processing take place on the local computer. This is not an official OllyDbg or GDB product.
Current features
A Python local server uses GDB/MI to open executables, attach by PID, step through instructions, add and delete breakpoints, and inspect registers, memory, and stack frames. Files can be selected in a file dialog or dropped onto the target area. Memory editing, an interactive input terminal, a PE analyzer, and LLDB or WinDbg connections are not yet provided. Actual GDB execution and inspection of a C example were verified on a GitHub Windows runner with MSYS2 UCRT64. Compatibility with individual programs requires separate checks.
History, comparison, and workspaces
Record recent stopped states and compare register values and memory bytes between two points. Save a selected record as a Markdown report. Workspace JSON saves paths, arguments, and breakpoints; importing prepares settings without executing a program, and breakpoints are applied separately to the current target. Press Ctrl or Cmd plus K to search commands, registers, functions, and addresses. Viewing stop history is not reverse execution.
Execution flow and inspection context
Configure comparison conditions, ignored hit counts and temporary breakpoints, and toggle existing breakpoints without deleting them. Address-based data breakpoints can watch changes, reads, or reads and writes; support and slot counts depend on GDB and the target hardware. Select a thread or click a stack frame to inspect its registers and local variables. Optimized builds or missing debug symbols can make variables unavailable.
In addition to instruction stepping, source-line step into and step over are available. Run to an address creates a temporary breakpoint and actually continues the program; another breakpoint or exception may stop it earlier. Stop records and reports include the selected thread and frame, and comparisons warn when contexts differ. Workspace v1 stores only basic breakpoints. Saving is blocked with an explanation when advanced or disabled breakpoints would lose settings.
Memory search and value inspection
Search the loaded memory range using hexadecimal byte patterns or UTF-8 text. HEX patterns support byte wildcards, such as 48 8B ?? FF. Click a byte to interpret values from that address as 8-, 16-, 32- and 64-bit integers or 32- and 64-bit floating-point numbers. Select little or big endian explicitly. Types requiring more bytes than are available are omitted. Search and interpretation run in the browser without writing to the target process.
Guides
The guides cover GDB setup, breakpoints, memory errors, and reading Python and JavaScript errors. Examples depend on the target operating system and build conditions. Official references are linked below each guide. If you find an error, send the article URL and the proposed correction to the contact email.
Status
The project is being tested locally. Public deployment and advertising integration have not been performed. The contact address is psiwoo66@gmail.com. A public domain has not yet been connected.