What features does the x64dbg debugger offer?

Updated

x64dbg is an open-source debugger for Windows that handles both x64 and x32 applications through a single interface. Its feature set is aimed at people who need to inspect, trace, and modify running programs — reverse engineers, malware analysts, and developers debugging compiled binaries. If you need a free, actively developed debugger with IDA-style navigation, scripting, and plugin support, it is a strong fit; if you need a full disassembler/decompiler suite rather than a debugger, it is only part of the toolkit.

Core debugging capabilities

The debugger core is built on TitanEngine Community Edition and supports full-featured debugging of DLL and EXE files. Around that core, x64dbg provides the views you need to understand a running process:

  • Memory map — see how memory is laid out in the target process.
  • Symbol view — basic PDB (debug symbol) support so function names resolve where symbols are available.
  • Thread view — inspect and switch between threads.
  • Source code view — step through code with source where it is available.
  • Graph view — visualize control flow as a graph.
  • Stack view — a dynamic stack view that updates as execution proceeds.
  • Register view — content-sensitive, showing more information about jump targets and register values.

Disassembly is powered by Zydis, described as a fast disassembler, and the sidebar uses an IDA-like layout with jump arrows. An IDA-like instruction token highlighter emphasizes registers and similar tokens, which makes scanning disassembly faster.

Navigation and analysis aids

Several features reduce the effort of following code through a binary:

  • C-like expression parser for evaluating expressions while debugging.
  • User database (JSON) for comments, labels, bookmarks, and similar annotations, so your analysis notes persist with the target.
  • Dynamically recognized modules and strings, which surface loaded modules and string references without manual setup.
  • Multi-datatype memory dump for reading memory as different types.
  • Import reconstructor integrated (Scylla) for rebuilding a binary's import table.

Editing, assembly, and automation

x64dbg is not read-only: it includes a built-in assembler (XEDParse/asmjit) and executable patching, so you can modify instructions and patch a binary during analysis. For repeatable work, it ships an integrated, debuggable, ASM-like scripting language for automation. Plugins extend it further — you can write plugins in C++ to add script commands or integrate your own tools, and the plugin API is described as growing.

Customization and platform details

The interface is built with C++ and Qt and is fully customizable: themes and color schemes can be changed, and preferences tweaked. One interface covers both x64 and x32 targets. The project is licensed under GPLv3, with both executable and source available, and it is under constant active development. It builds on open-source libraries including Qt, TitanEngine, Zydis, Yara, Scylla, Jansson, lz4, XEDParse, asmjit, and snowman.

Is it the right tool for you?

If you need… x64dbg fits because…
A free, open-source Windows debugger for x64/x32 GPLv3, source available, single interface for both
Familiar navigation from IDA-style tooling IDA-like sidebar, jump arrows, token highlighting
Scripting and plugin-based extension Built-in ASM-like script language, C++ plugin API
Patching and in-place assembly Built-in assembler and executable patching
Persistent analysis notes JSON user database for comments, labels, bookmarks

Choose something else if your primary need is a full decompiler or a static analysis suite — x64dbg is a debugger, and its decompilation-adjacent support comes through the bundled snowman library rather than as a complete decompiler product. For dynamic analysis of Windows binaries with hands-on control, its combination of views, scripting, and patching covers the common workflow.