PAGES
← all tools
◆ Reverse Engineering

pwndbg

2026.10.22 open-source

GDB and LLDB plug-in that enhances debugging for reverse-engineers and exploit developers with low-level utilities.

Summary

pwndbg is an open-source, MIT-licensed plug-in for GDB and LLDB that replaces the default command set with features aimed at exploit developers, reverse engineers, and hardware hackers who find vanilla debugger output unusable for that work. It runs as a Python module loaded into GDB, or as a REPL for LLDB, so it fits directly into an existing command-line debugging workflow rather than replacing it. Its README places it against past and present projects like gdbinit, PEDA, GEF, and bata24/GEF, arguing that those are hard to extend and shipped as unwieldy single files, whereas pwndbg aims for a cleaner, more maintainable implementation covering both userspace and Linux kernel debugging. With 364 contributors, 845 commits in the past year, and a release 22 days ago, it is under active development.

GDB and LLDB plug-in that enhances debugging for reverse-engineers and exploit developers with low-level utilities.

How pwndbg helps

Where in memory does this exploit's payload land, and is the layout what I expect?

maps the process's memory regions and renders a hexdump or visualization of any range, collapsing repeated bytes so a pattern or overwrite stands out

Why did my program just die, and was it a memory-safety violation or something else?

surfaces a dedicated panel on stop showing the last signal the debuggee received, alongside registers and stack in one context view

What is the kernel doing with memory while I step through a driver or exploit?

traces allocator activity live, showing which task requested or freed a chunk, and lets me inspect page tables and file descriptors for a given kernel task

Can I pull real symbol and type information for a stripped or third-party binary I'm debugging?

fetches matching debug symbols automatically from a hosted server for common distributions when none are present locally

Does my target still work the same way after I patch a few instructions in it?

lets me write patches across multiple architectures directly in memory and inspect the resulting disassembly in place

all 102 features, with the evidence for each →

Languages

Not documented

Features

102 capabilities across 7 areas · 4 backed by code, an API document or a real run

Built from pwndbg's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • pwndbg covers 1 of the 3 runtime security capabilities we track.

What pwndbg offers you

  • Command-line interface52
  • Python scripting support2
  • Scripting language support2
  • Scripting API1
Memory Inspection and Navigation 5 capabilities pwndbg gives users detailed visibility into how a process uses memory, from raw pointer dereferencing to virtual memory layout and WinDbg-style dumps. These capabilities form the core of day-to-day debugging and exploit development sessions.
Telescope memory display shipped Recursively follows and displays chains of pointers in memory so the user can see what a value ultimately points to. 6 releases · 1 other source · first seen Sep 2016

release

  • Adds set telescope-pad-leading-zeroes on to zero-pad pointer-aligned integers to pointer width in telescope output. 2026.07.29 · Jul 2026 · source · release history
  • Adds telescope --frame option to display stack frame information 2024.02.14 · Feb 2024 · source · release history
  • Adds --reverse flag to telescope command to view memory before a provided address 2022.08.30 · Aug 2022 · source · release history
  • Telescope command gains skip_count_label option to add a label showing the number of skipped lines 2021.06.22 · Jun 2021 · source · release history
  • Telescope command gains min_repeating_values config to skip short runs of repeated values 2021.06.22 · Jun 2021 · source · release history
  • Add CheatEngine style searching 2016.09.22 · Sep 2016 · source · release history

example

  • Inspect memory locations preceding the current instruction pointer in telescope view telescope --reverse $pc 2022.08.30 · Aug 2022 · source
Virtual memory map (vmmap) shipped Shows all virtual memory regions for a running process along with their permissions and backing files. 6 releases · first seen Jul 2018

Also counts toward: Command-line interface

release

  • Page table scanning now reads /proc/pid/mem by default for significantly faster vmmap operations. 2026.07.29 · Jul 2026 · source · release history
  • Adds set vmmap-cache to persist vmmap across stops on macOS. 2026.07.29 · Jul 2026 · source · release history
  • Improves embedded systems debugging with better vmmap detection and enhanced vmmap_add and vmmap_load commands. 2025.01.20 · Jan 2025 · source · release history
  • Adds vmmap -C <N> <filter> to display N pages before and after a filtered vmmap entry. 2025.01.20 · Jan 2025 · source · release history
  • Adds vmmap QEMU kernel support for x86/x64/risc-v by parsing memory info mem output 2019.12.09 · Dec 2019 · source · release history
  • Add manual memory page manipulation via vmmap_add and vmmap_load commands for bare metal debugging. 2018.07.29 · Jul 2018 · source · release history
GDB print integration shipped Shows values in hexadecimal by default when using GDB's print command. 4 releases · first seen Jul 2018

Also counts toward: Command-line interface

release

  • Extends regs to display SIMD registers (e.g. regs xmm0) and decode individual flags-register bits (e.g. regs eflags). image 2026.10.22 · Oct 2026 · source · release history
  • GDB's print command now displays values in hex by default. 2026.07.29 · Jul 2026 · source · release history
  • Add $rebase(address) expression function allowing rebase logic in breakpoints and other expressions. 2018.07.29 · Jul 2018 · source · release history
  • Add piebase command to rebase a given address for a specific executable. 2018.07.29 · Jul 2018 · source · release history
Memory mapping and protection (mmap/mprotect) shipped Lets the user create or change memory mappings and their permissions directly from the debugger prompt. 3 releases · first seen Jul 2020

Also counts toward: Command-line interface

release

  • Adds --quiet and --force flags to the mmap/mprotect commands. 2026.07.29 · Jul 2026 · source · release history
  • Adds mmap ... and mprotect ... commands to invoke syscalls in the debugged program 2024.02.14 · Feb 2024 · source · release history
  • mprotect command injecting mprotect syscall 2020.07.23 · Jul 2020 · source · release history
WinDbg-style memory display commands shipped Displays memory contents in WinDbg-compatible formats, making it easier for users familiar with that environment. 1 release · first seen Jul 2026

release

  • Adds an optional count/length parameter to the windbg-style dds/dps/dqs/kd commands. 2026.07.29 · Jul 2026 · source · release history
Heap Analysis 6 capabilities pwndbg supports deep inspection of heap allocator internals across multiple libc implementations, covering both user-space and kernel allocators. This lets users trace allocation behaviour, spot corruption, and understand heap layout during exploitation research.
glibc heap inspection shipped Walks and displays glibc heap structures including chunks, tcache bins, and fastbins so the user can understand current heap state. 8 releases · 1 other source · first seen Feb 2017

Also counts toward: Command-line interface

release 8 total

  • The resolve-heap-via-heuristic configuration key is deprecated and has no effect — pwndbg now always tries symbols first and then heuristics regardless of this setting. image 2026.10.22 · Oct 2026 · source · release history
  • glibc 2.43 heap support and tcache large chunks since glibc 2.42 2026.07.29 · Jul 2026 · source · release history
  • Adds heap --count <N> and address range limits (heap <start> <end>) to walk only a requested portion of the heap. 2026.07.29 · Jul 2026 · source · release history
  • Adds glibc 2.43 heap inspection support, including tcache large chunks since glibc 2.42. 2026.07.29 · Jul 2026 · source · release history
  • Adds safe-linking support for heap analysis when debug symbols are loaded in glibc detection 2022.01.05 · Jan 2022 · source · release history
  • Add tcache command providing support for ptmalloc's thread cache. 2018.07.29 · Jul 2018 · source · release history

example

  • Visualize heap chunks at a specific address to analyze memory corruption. vis_heap_chunks 0x602000 2018.07.29 · Jul 2018 · source
Kernel slab allocator inspection shipped Displays kernel slab cache information including how many objects are in use versus available in each cache. 6 releases · 2 other sources · first seen Sep 2016

Also counts toward: Command-line interface

release

  • Updates slab info to display per-CPU sheaves and per-node barns for Linux 7.0+. image 2026.10.22 · Oct 2026 · source · release history
  • slab_contains now shows inuse/total object count on its own line. 2026.07.29 · Jul 2026 · source · release history
  • Adds initial support for the IBM s390x architecture. 2025.05.30 · May 2025 · source · release history
  • Added slab contains <addr> [<addrs...>] command to inspect Linux kernel heap (when debugging kernel) 2023.07.17 · Jul 2023 · source · release history
  • Adds kbase, kchecksec, and slab kernel debugging commands to get the kernel base address, check kernel security settings, and list kernel slabs 2023.03.19 · Mar 2023 · source · release history
  • Removes input-radix and output-radix configuration options; defaulting to hexadecimal for both instead. 2016.09.22 · Sep 2016 · source · release history

example

  • Quickly identify the glibc version of a running target to look up gadgets or known heap behaviors. libcinfo 2025.04.13 · Apr 2025 · source
  • Inspect kernel heap slabs for a specific address. (gdb) slab contains 0xffffffff82040000 2023.07.17 · Jul 2023 · source
Heap allocation tracking shipped Tracks malloc and free calls in a live process and annotates each event with the call site so the user can follow allocation patterns. 4 releases · 2 other sources · first seen Jul 2026

Also counts toward: Command-line interface

release

  • Adds track-heap enable -r to report heap event offsets relative to the mapping instead of absolute addresses. 2026.07.29 · Jul 2026 · source · release history
  • track-heap enable -r to report offsets relative to the mapping 2026.07.29 · Jul 2026 · source · release history
  • track-heap enable --where to annotate allocation events with call sites 2026.07.29 · Jul 2026 · source · release history
  • Adds track-heap enable --where to annotate each heap allocation event with its nearest program symbol call site. 2026.07.29 · Jul 2026 · source · release history

example

  • Trace call sites for every heap allocation to identify leak sources. track-heap enable --where 2026.07.29 · Jul 2026 · source
  • Track heap allocations in a running process and annotate every malloc/free event with the nearest symbol that triggered it. track-heap enable --where 2026.07.29 · Jul 2026 · source
mallocng heap inspection verified Visualises musl mallocng allocator internals including meta areas and slot layout within groups. 2 releases · 4 other sources · first seen Jul 2018

release

  • The mallocng-dump, mallocng-vis, jemalloc-heap, jemalloc-extent-info, knft-list-tables (and similar dash-separated) commands are replaced by subcommands: use mallocng dump, mallocng vis, jemalloc heap, jemalloc extent-info, knft list-tables etc. instead. 2026.07.29 · Jul 2026 · source · release history
  • Add breakrva command to set a breakpoint at an offset relative to the base address of a given executable. 2018.07.29 · Jul 2018 · source · release history

command line

  • metaarea — Print out a mallocng meta_area object at the given address. 2026.07.29 · Jul 2026 · command-line history
  • slots — Dump information about a mallocng slot, given its start address. 2026.07.29 · Jul 2026 · command-line history
  • slotu — Dump information about a mallocng slot, given its user address. 2026.07.29 · Jul 2026 · command-line history
  • vis — Visualize slots in a group. 2026.07.29 · Jul 2026 · command-line history
glibc exit handler inspection shipped Lists all registered glibc exit handlers and decodes their mangled function pointers so the user can see what will run at process exit. 2 releases · 2 other sources · first seen Jul 2026

Also counts toward: Command-line interface

release

  • Adds exithandlers command (alias exitfuncs) to list registered glibc exit handlers by walking __exit_funcs and tls_dtor_list, demangling PTR_MANGLEd function pointers, and printing the pointer_guard cookie. 2026.07.29 · Jul 2026 · source · release history
  • exithandlers (alias exitfuncs) to inspect glibc exit handlers and demangle pointers 2026.07.29 · Jul 2026 · source · release history

example

  • Inspect glibc exit handlers during exploitation. exithandlers 2026.07.29 · Jul 2026 · source
  • Inspect registered glibc exit handlers during exploitation to identify hijack opportunities and see the pointer_guard cookie. exithandlers 2026.07.29 · Jul 2026 · source
musl libc detection and inspection shipped Detects musl libc in statically linked binaries and exposes its allocator structures for inspection. 2 releases · first seen Jul 2026

release

  • Adds Android Bionic libc detection, surfaced via the libc / libcinfo command showing libc and loader mappings. image 2026.10.22 · Oct 2026 · source · release history
  • Detects musl libc in statically linked binaries. 2026.07.29 · Jul 2026 · source · release history
Code and Execution Analysis 6 capabilities pwndbg provides disassembly, syscall tracing, and pattern-based crash analysis to help users understand what code is executing and why it crashes. These capabilities cover both normal debugging workflows and targeted exploit offset discovery.
Disassembly view shipped Shows disassembled instructions around the current instruction pointer with markers for breakpoints and unresolved branches. 14 releases · 4 other sources · first seen Jul 2018

release 14 total

  • Pwndbg no longer refuses to start on unknown architectures — falls back to the underlying debugger's disassembler with reduced context and no emulation. image 2026.10.22 · Oct 2026 · source · release history
  • Adds m68k architecture support including Capstone disassembly, Unicorn emulation, branch target resolution, and instruction annotations. 2026.10.22 · Oct 2026 · source · release history
  • Adds backwards disassembly capability in context views and the nearpc command to inspect instructions before the current PC. image 2026.09.15 · Sep 2026 · source · release history
  • Expands nearpc -f/--function to work without debugging symbols, making it a full replacement for GDB's/LLDB's disass command with branch visualization, branch targets, and operand annotations. 2026.09.15 · Sep 2026 · source · release history
  • Adds backwards disassembly in context disasm and nearpc, showing instructions before $PC when stopping at a breakpoint or after a syscall. 2026.09.15 · Sep 2026 · source · release history
  • Enables emulation when debugging x64 kernels, unlocking emulated instruction flow and concrete operand display in the disassembly system. 2026.09.15 · Sep 2026 · source · release history

example

  • Disassemble the entire current function even if no debug symbols are present, replacing standard GDB/LLDB disassembly with richer output. nearpc -f 2026.09.15 · Sep 2026 · source
  • Disassemble an entire function at once to review its full control flow with branch visualization. nearpc -f main 2026.02.18 · Feb 2026 · source
  • Configure pwndbg to dump the current context pane output to a specific pseudo-terminal device for external logging or analysis. set context-output /dev/pts/2 2019.12.09 · Dec 2019 · source
  • View source code context with the file path included. context code 2019.01.25 · Jan 2019 · source
Syscall inspection and stepping verified Looks up syscall numbers by name or number and can step execution forward until a chosen syscall is reached. 4 releases · 3 other sources · first seen Jul 2018

Also counts toward: Command-line interface

release

  • Extends stepsyscall to step until a given syscall name or a condition expression, e.g. stepsyscall write or stepsyscall -c '$rdi==0'. 2026.07.29 · Jul 2026 · source · release history
  • Adds the xuntil command to execute until a specified address or condition is reached 2019.12.09 · Dec 2019 · source · release history
  • next_syscall is renamed to nextsyscall. 2018.07.29 · Jul 2018 · source · release history
  • Add stepsyscall command to step execution until a system call is entered. 2018.07.29 · Jul 2018 · source · release history

command line

  • syscall — Syscall number (e.g., 1, 0x3c) or name (e.g., write, exit) 2026.07.29 · Jul 2026 · command-line history

example

  • Step execution forward until a specific syscall is reached, useful for quickly reaching an interesting I/O or exec call. stepsyscall write 2026.07.29 · Jul 2026 · source
  • Execute the target program until it reaches a specific memory address, useful for skipping to complex logic or function returns. xuntil 0x401234 2019.12.09 · Dec 2019 · source
eBPF program debugging shipped Allows the user to set breakpoints at the start of JIT-compiled eBPF programs during a kernel debugging session. 3 releases · first seen Jul 2020

Shared capability: eBPF-based runtime detection

release

  • Adds support for breaking at the start of a JIT-compiled eBPF program. 2026.07.29 · Jul 2026 · source · release history
  • Breakpoint at the start of JIT-compiled eBPF programs 2026.07.29 · Jul 2026 · source · release history
  • ctx-watch renamed to ctx-unwatch for unwatching expressions; use ctx-unwatch instead. 2020.07.23 · Jul 2020 · source · release history
Cyclic pattern generation shipped Generates de Bruijn cyclic patterns so the user can determine the exact offset to a crash-controlling value. 1 release · first seen Jul 2026

Also counts toward: Command-line interface

release

  • The cyclic command now generates a de Bruijn sequence consistent with pwn cyclic from pwntools; previously generated sequences will differ. 2026.07.29 · Jul 2026 · source · release history
ELF parsing shipped Parses ELF binaries on any supported architecture using a bundled library so the user does not need an external readelf tool. 1 release · first seen Jul 2026

release

  • Replaces the system readelf with pyelftools for ELF parsing across all architectures without requiring an external tool. 2026.07.29 · Jul 2026 · source · release history
RISC-V architecture support shipped Disassembles RISC-V instructions, including bit-manipulation extension opcodes, for users working on that architecture. 1 release · first seen Jul 2026

release

Kernel Debugging 5 capabilities pwndbg extends GDB with commands tailored to Linux kernel debugging, covering task inspection, address translation, slab allocators, per-CPU variables, and data type layout. Users can work with kernel internals without needing full debug symbol coverage.
Kernel task introspection shipped Inspects kernel task properties such as stack, seccomp filters, signal handlers, and namespaces by PID without requiring debug symbols. 2 releases · 1 other source · first seen Jul 2026

Also counts toward: Command-line interface

release

  • Adds four new Linux kernel task introspection commands without requiring typeinfo: kstack [pid], kseccomp [pid], ksighand [pid], and knamespace [pid]. 2026.07.29 · Jul 2026 · source · release history
  • kstack, kseccomp, ksighand, knamespace commands for kernel task introspection without typeinfo 2026.07.29 · Jul 2026 · source · release history

example

  • Inspect the seccomp filter of a kernel task by PID when debugging a kernel with qemu-system. kseccomp 1234 2026.07.29 · Jul 2026 · source
Virtual/physical address conversion shipped Converts between virtual and physical addresses inside GDB expressions so the user can work with both address spaces during kernel sessions. 2 releases · first seen Jul 2026

release

  • Expands v2p, p2v, and pageinfo commands to display full page info including vaddr, paddr, and page. image 2026.09.15 · Sep 2026 · source · release history
  • Adds v2p and p2v GDB function helpers to convert between virtual and physical addresses inside expressions. 2026.07.29 · Jul 2026 · source · release history
Kernel data type display (dt) shipped Displays the layout of kernel and binary data types including bitfields, nested structs, and flexible array members. 1 release · 1 other source · first seen Feb 2025

release

  • Extends dt command to properly handle bitfields (with sub-byte offsets like +0x0000.1), nested struct offsets, and flexible array members. 2026.07.29 · Jul 2026 · source · release history

example

  • Load struct definitions from a project header so cymbol can resolve custom types without a debug build. cymbol -f /path/to/structs.h 2025.02.19 · Feb 2025 · source
Kernel image retrieval shipped Downloads kernel images needed for debugging, fetching multiple images in parallel to save time. 1 release · first seen Jul 2026

release

  • Kernel image downloads are now parallelized for faster retrieval. 2026.07.29 · Jul 2026 · source · release history
Per-CPU variable resolution shipped Resolves per-CPU variables inside GDB expressions so the user can read or break on CPU-local kernel data. 1 release · first seen Jul 2026

release

  • Adds percpu GDB function to resolve per-CPU variables inside print/break expressions during kernel debugging. 2026.07.29 · Jul 2026 · source · release history
Process and System Information 1 capability pwndbg surfaces enriched process-level information beyond what stock GDB provides, including file descriptors, socket relationships, and pipe endpoints. This gives users a fuller picture of what a target process is doing and how it relates to the system.
Process information (procinfo) shipped Shows detailed process information including file descriptors enriched with socket peer and pipe endpoint data. 4 releases · 1 other source · first seen Feb 2024

Also counts toward: Command-line interface

release

  • Adds stack-vis command to visualize stack frames of the current thread, similar to how vis-heap-chunks visualizes heap chunks.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ image 2026.09.15 · Sep 2026 · source · release history
  • Enriches procinfo file descriptor output with netlink socket protocol/portid/groups, unix-domain socket peer process, and pipe peers with read/write end information. 2026.07.29 · Jul 2026 · source · release history
  • Adds kfile [pid] [-fd [fd]] command to display file descriptors accessible by the current or a given kernel task 2026.02.18 · Feb 2026 · source · release history
  • Adds -A <N> and -B <N> flags to vmmap to show adjacent memory entries 2024.02.14 · Feb 2024 · source · release history

example

  • Visualize the stack layout of the current thread to inspect local variables and saved registers. stack-vis 2026.09.15 · Sep 2026 · source
Debugger Environment and Tooling 2 capabilities pwndbg supports multiple debugger backends and provides usability features such as themes, LLDB compatibility, and pwntools integration. These capabilities shape the overall working environment rather than any single analysis task.
LLDB backend support shipped Lets the user run pwndbg under LLDB as an alternative backend, including command history and Enter-to-repeat behaviour. 3 releases · 1 other source · first seen Jul 2026

Also counts toward: Command-line interface

release

  • Adds LLDB target.run-args support so launch now respects pre-configured run arguments. image 2026.10.22 · Oct 2026 · source · release history
  • Adds LLDB target create -r flag for specifying a remote executable path and process launch -w for setting the working directory. 2026.10.22 · Oct 2026 · source · release history
  • Command history and Enter-to-repeat now work on LLDB. 2026.07.29 · Jul 2026 · source · release history

docs

  • GDB and LLDB plug-in that enhances debugging for reverse-engineers and exploit developers with low-level utilities.
Theme management shipped Applies visual colour themes to pwndbg output so users can customise how information is presented. 2 releases · first seen Feb 2017

Also counts toward: Command-line interface

release

  • Moves the pwndbg themes collection into the main repository under the themes/ directory. 2026.07.29 · Jul 2026 · source · release history
  • Adds themefile command to save theme settings to a file for ~/.gdbinit 2017.02.01 · Feb 2017 · source · release history
Other 77 capabilities
LLDB debugging enhancements shipped Extend LLDB support with Objective-C/Mach-O analysis, fzf completion, register aliases, and arm64e architecture. 6 releases · 1 other source · first seen Oct 2025

release

  • Adds objc show-class -n <ClassName> to display Objective-C class metadata in pseudo-ObjC syntax, including method implementations and selector addresses, with -a <address> and -m <module> lookups, and objc list-classes to list Objective-C classes in the main module, where -a includes all modules except the… image 2026.10.22 · Oct 2026 · source · release history
  • Improved vmmap output on Darwin under LLDB, incorporating DYLD Shared Cache. 2025.10.10 · Oct 2025 · source · release history
  • New disasm-reg-alias config option to force disassembly to use register aliases (e.g. aarch64 x29 → fp). 2025.10.10 · Oct 2025 · source · release history
  • Adds Objective-C and Mach-O support on Darwin under LLDB. 2025.10.10 · Oct 2025 · source · release history
  • Adds fzf (fuzzy finder) tab completion in LLDB. 2025.10.10 · Oct 2025 · source · release history
  • Adds arm64e architecture support in LLDB. 2025.10.10 · Oct 2025 · source · release history

example

  • Inspect an Objective-C class during macOS/iOS binary analysis to see method selectors and implementation addresses without needing a separate class-dump tool. objc show-class -n NSURLSession 2026.10.22 · Oct 2026 · source
musl mallocng heap inspection shipped Visualize, dump, explain, and locate slots in the musl mallocng allocator structures. 6 releases · 1 other source · first seen Oct 2025

Also counts toward: Command-line interface

release

  • New ng-vis command to visualize the musl mallocng heap. 2025.10.10 · Oct 2025 · source · release history
  • New ng-dump command to dump musl mallocng heap state. 2025.10.10 · Oct 2025 · source · release history
  • New ng-explain command to explain musl mallocng slot layout. 2025.10.10 · Oct 2025 · source · release history
  • New ng-find command to locate a slot, group, or meta by address in musl mallocng. 2025.10.10 · Oct 2025 · source · release history
  • New ng-metaarea and ng-ctx commands to inspect musl mallocng internals. 2025.10.10 · Oct 2025 · source · release history
  • New ng-slots command to inspect musl mallocng slots. 2025.10.10 · Oct 2025 · source · release history

example

  • Inspect musl mallocng heap state for a target binary to find corruption or understand allocator internals during exploit development. ng-dump 2025.10.10 · Oct 2025 · source
Kernel metadata inspection commands verified Dump and inspect kernel subsystem state including dmesg, DMA buffers, tasks, syscalls, and modules. 5 releases · 1 other source · first seen Oct 2025

Also counts toward: Command-line interface

release

  • New kdmesg command for dumping kernel dmesg during kernel debugging. 2025.10.10 · Oct 2025 · source · release history
  • New kdmabuf command for dumping DMA buf info during kernel debugging. 2025.10.10 · Oct 2025 · source · release history
  • New ktask command for dumping kernel task info during kernel debugging. 2025.10.10 · Oct 2025 · source · release history
  • New ksyscall command for dumping kernel syscall info during kernel debugging. 2025.10.10 · Oct 2025 · source · release history
  • New kmod command for dumping kernel module info during kernel debugging. 2025.10.10 · Oct 2025 · source · release history

command line

Baremetal debugging support shipped Support baremetal debugging workflows for ARM Cortex-M architectures. 6 releases · first seen Dec 2019

Also counts toward: Command-line interface

release

  • Adds native GDB portable build for Apple Silicon macOS (remote ELF debugging only). 2025.04.18 · Apr 2025 · source · release history
  • Adds portable GDB and LLDB builds for LoongArch64 Linux (*_loongarch64-portable.tar.xz). 2025.04.18 · Apr 2025 · source · release history
  • Ships first portable builds for LoongArch64 Linux (GDB and LLDB) and native Apple Silicon GDB (remote ELF debugging). 2025.04.13 · Apr 2025 · source · release history
  • Python 3.8, Ubuntu 20.04, and Debian 11 are no longer supported. 2025.01.20 · Jan 2025 · source · release history
  • Adds setflag command to set CPU flags register values 2022.08.30 · Aug 2022 · source · release history
  • Adds initial support for ARM Cortex-M baremetal debugging workflows 2019.12.09 · Dec 2019 · source · release history
PIE and offset-based breakpointing shipped Set breakpoints at specific offsets from the binary base or using relative virtual addresses to support PIE debugging. 4 releases · 2 other sources · first seen Jul 2018

Also counts toward: Command-line interface

release

  • Adds $base(objfile_name) function to compute base address of memory pages 2024.02.14 · Feb 2024 · source · release history
  • Adds heap_config command to configure heap command settings including symbol addresses 2022.08.30 · Aug 2022 · source · release history
  • r2 sync now supports PIE binaries 2019.01.25 · Jan 2019 · source · release history
  • Add breakrva command to set a breakpoint at an offset relative to the base address of a given executable. 2018.07.29 · Jul 2018 · source · release history

example

  • Set a breakpoint at a specific offset from the binary base during PIE debugging. breakrva 0x123 2018.07.29 · Jul 2018 · source
  • Create a dynamic breakpoint using the new rebase expression function. break *$rebase(some_address) 2018.07.29 · Jul 2018 · source
Debugee resource limit configuration verified Set soft and hard resource limits on the debugee process using the setrlimit command, controlling resources such as open-file counts and core-file sizes. 1 release · 4 other sources · first seen Oct 2026

Also counts toward: Command-line interface

release

  • Adds setrlimit command to set debugee resource limits — e.g. setrlimit nofile 1 2 sets soft and hard open-file limits, setrlimit core infinite sets both core-file limits to unlimited. image 2026.10.22 · Oct 2026 · source · release history

command line

example

  • Remove the core-dump size limit so a crashing debugee actually writes a full core file for post-mortem analysis. setrlimit core infinite 2026.10.22 · Oct 2026 · source
IBM s390x architecture support shipped Provide initial debugging and disassembly support for the IBM s390x architecture. 4 releases · first seen May 2025

release

Thread-local storage detailed inspection shipped Inspect thread-local storage fields in full detail with structured views for diagnosing TLS-related vulnerabilities. 2 releases · 2 other sources · first seen Apr 2025

Also counts toward: Command-line interface

release

  • The tls command now renders thread-local storage as a structured tcbhead_t view; new -a flag shows full output. 2025.04.18 · Apr 2025 · source · release history
  • Enhances tls command with a structured tcbhead_t view and a -a flag to show the full thread-local storage dump. 2025.04.13 · Apr 2025 · source · release history

example

  • Inspect thread-local storage in full detail when debugging TLS-aware exploits. tls -a 2025.04.18 · Apr 2025 · source
  • Inspect all thread-local storage fields in full detail when diagnosing TLS-related vulnerabilities. tls -a 2025.04.13 · Apr 2025 · source
Dynamic process attachment shipped Attach the cyber tooling to a running process by name, PID, or device file for immediate debugging without restarting. 2 releases · 2 other sources · first seen Jan 2022

Also counts toward: Command-line interface

release

  • Adds attachp command to attach to a process by PID, name, or device file 2022.08.30 · Aug 2022 · source · release history
  • Adds the attachp command to attach pwndbg to a running process by name or PID 2022.01.05 · Jan 2022 · source · release history

example

  • Attach Pwndbg to a running process named vulnerable_app for live debugging attachp vulnerable_app 2022.08.30 · Aug 2022 · source
  • Attach pwndbg to a running chrome process by name for immediate debugging. attachp chrome 2022.01.05 · Jan 2022 · source
Stack frame visualization shipped Visualize the stack layout of the current thread to inspect local variables and saved registers. 2 releases · 1 other source · first seen Sep 2026

Also counts toward: Command-line interface

release

  • Adds stack-vis command to visualize stack frames of the current thread, similar to how vis-heap-chunks visualizes heap chunks.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ image 2026.09.15 · Sep 2026 · source · release history
  • Introduces the stack-vis command to visualize stack frames of the current thread. 2026.09.15 · Sep 2026 · source · release history

example

  • Visualize the current thread's stack frames at a breakpoint to understand frame layout during exploit development. stack-vis 2026.09.15 · Sep 2026 · source
Go runtime inspection shipped Inspect Go type information, interfaces, and dump structures without requiring full debug symbols. 2 releases · 1 other source · first seen Sep 2024

Also counts toward: Command-line interface

release

  • Adds go-type <address> command to inspect Go type information. 2024.08.29 · Sep 2024 · source · release history
  • Adds go-dump <type> <address> command to dump Go types (including interface objects via the any type). 2024.08.29 · Sep 2024 · source · release history

example

  • Inspect the concrete type hidden inside a Go interface object at a known address, without needing debug symbols. go-dump any 0x00c0000b4000 2024.08.29 · Sep 2024 · source
Enhanced disassembly display shipped Display instruction opcodes in the disassembly context alongside instructions for better analysis. 2 releases · first seen Mar 2023

Also counts toward: Command-line interface

release

  • Adds nearpc --opcode / nearpc -o to show opcode bytes sized to the longest instruction in the listing, or nearpc -o 4 for a fixed-width column — without changing nearpc-num-opcode-bytes.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ image 2026.10.22 · Oct 2026 · source · release history
  • Enables instruction opcodes in the disasm context via GDB's set nearpc-num-opcode-bytes 9 2023.03.19 · Mar 2023 · source · release history
Automatic cyclic pattern detection shipped Detect cyclic pattern offsets across all registers and memory after a crash. 1 release · 1 other source · first seen Oct 2025

Also counts toward: Command-line interface

release

  • Adds --detect flag to cyclic command to detect cyclic sequences in registers and memory. 2025.10.10 · Oct 2025 · source · release history

example

  • Detect cyclic pattern offsets automatically across all registers and memory after a crash, instead of manually inspecting each register. cyclic --detect 2025.10.10 · Oct 2025 · source
Capstone engine update shipped Update Capstone disassembly engine to version 6 alpha5. 2 releases · first seen May 2025

release

  • Updated Capstone disassembly engine to version 6 alpha5. 2025.10.10 · Oct 2025 · source · release history
  • Upgraded Capstone to version 6, enabling new architecture and disassembly improvements. 2025.05.30 · May 2025 · source · release history
Disassembly display improvements shipped Configure branch jump markers and register aliases in disassembly output. 2 releases · first seen Oct 2025

release

  • New disasm-branch-on and disasm-branch-off theme options for branch jump markers in disassembly. 2025.10.10 · Oct 2025 · source · release history
  • New disasm-reg-alias config option to force disassembly to use register aliases (e.g. aarch64 x29 → fp). 2025.10.10 · Oct 2025 · source · release history
LLDB help and completion updates shipped Add 'help set' command and fzf tab completion support in LLDB. 2 releases · first seen Oct 2025

Also counts toward: Command-line interface

release

Portable build enhancements shipped Include Zig compiler in portable builds and add one-liner installation support. 2 releases · first seen May 2025

Also counts toward: Command-line interface

release

  • Portable releases now include zig, enabling commands such as cyclic in portable builds. 2025.10.10 · Oct 2025 · source · release history
  • One-liner portable install now available for Linux and macOS (both GDB and LLDB variants). 2025.05.30 · May 2025 · source · release history
VMMap output improvements shipped Improve vmmap output for Darwin and kernel debugging sessions. 2 releases · first seen Oct 2025

release

  • Improved vmmap output on Darwin under LLDB, incorporating DYLD Shared Cache. 2025.10.10 · Oct 2025 · source · release history
  • Improved vmmap output for kernel debugging sessions. 2025.10.10 · Oct 2025 · source · release history
ARM Cortex-M exception debugging shipped Inspect ARM Cortex-M exception states, including register frames and context handling. 2 releases · first seen May 2025

Also counts toward: Command-line interface

release

  • New dump-register-frame command dumps saved register frames, useful for ARM Cortex-M exception/interrupt debugging. 2025.05.30 · May 2025 · source · release history
  • Adds Cortex-M exception return address resolution and context handling. 2025.05.30 · May 2025 · source · release history
IDA variable lookup integration shipped Look up IDA-named stack variables by name inside debugger expressions. 1 release · 1 other source · first seen May 2025

release

  • Supports stack variable lookup in IDA integration via $ida("var_name"). 2025.05.30 · May 2025 · source · release history

example

  • Look up an IDA-named stack variable by name inside a pwndbg expression while reversing a function. p $ida("var_10") 2025.05.30 · May 2025 · source
Linux buddy allocator inspection shipped Inspect the Linux kernel buddy allocator free-page state. 1 release · 1 other source · first seen May 2025

Also counts toward: Command-line interface

release

  • New buddydump command inspects Linux kernel buddy allocator state on x86-64. 2025.05.30 · May 2025 · source · release history

example

  • Inspect the Linux kernel buddy allocator's free-page state while debugging a kernel with QEMU. buddydump 2025.05.30 · May 2025 · source
MSR read/write shipped Read or write Model-Specific Registers during ring0 kernel debugging. 1 release · 1 other source · first seen May 2025

Also counts toward: Command-line interface

release

  • New msr command reads/writes Model-Specific Registers during ring0 kernel debugging. 2025.05.30 · May 2025 · source · release history

example

  • Read or write a Model-Specific Register during kernel (ring0) debugging to inspect CPU state. msr 2025.05.30 · May 2025 · source
Breakpoint display markers shipped Visually mark user-set breakpoints directly in the disassembly context panel. 2 releases · first seen Apr 2025

release

  • Context disasm panel now marks user-set breakpoints inline (shown as b+ by default). 2025.04.18 · Apr 2025 · source · release history
  • Adds breakpoint markers in the context disasm panel, displayed as b+ next to breakpointed instructions. 2025.04.13 · Apr 2025 · source · release history
Binary Ninja integration shipped Synchronize views and symbols between the debugger and Binary Ninja. 2 releases · first seen Sep 2024

release

  • IDA and Binary Ninja integration servers can now be configured via PWNDBG_IDA_SERVER_HOST, PWNDBG_IDA_SERVER_PORT, PWNDBG_BINJA_SERVER_HOST, and PWNDBG_BINJA_SERVER_PORT environment variables. 2025.02.19 · Feb 2025 · source · release history
  • Adds Binary Ninja integration to synchronize Binary Ninja view and symbols with Pwndbg. 2024.08.29 · Sep 2024 · source · release history
nftables kernel inspection shipped Inspect Linux kernel nftables internals including tables, chains, rules, and sets for firewall analysis. 1 release · 1 other source · first seen Feb 2025

Also counts toward: Command-line interface

release

  • Adds eight new kernel nftables inspection commands: knft_dump, knft_list_tables, knft_list_chains, knft_list_rules, knft_list_exprs, knft_list_sets, knft_list_objects, and knft_list_flowtables. 2025.02.19 · Feb 2025 · source · release history

example

  • Dump all nftables internals on a live kernel to quickly map firewall rules during incident response. knft_dump 2025.02.19 · Feb 2025 · source
File descriptor hijacking shipped Redirect a process's file descriptors to controlled files mid-session to intercept or inject I/O. 1 release · 1 other source · first seen Jan 2025

Also counts toward: Command-line interface

release

  • New hijack-fd <fd> <newfile> command modifies a process file descriptor. 2025.01.20 · Jan 2025 · source · release history

example

  • Redirect a process's file descriptor to a controlled file mid-session to intercept or inject I/O. hijack-fd 1 /tmp/capture.txt 2025.01.20 · Jan 2025 · source
jemalloc heap inspection shipped Inspect and visualize jemalloc allocator structures including extents, chunks, and arenas during debugging. 1 release · 1 other source · first seen Jan 2025

Also counts toward: Command-line interface

release

  • New jemalloc_heap, jemalloc_extent_info, and jemalloc_find_extent commands inspect jemalloc heap allocator structures. 2025.01.20 · Jan 2025 · source · release history

example

  • Inspect jemalloc heap structures when exploiting a target that uses the jemalloc allocator. jemalloc_heap 2025.01.20 · Jan 2025 · source
Assembly pattern search and breakpointing shipped Search memory for specific assembly instructions or set breakpoints on matching code sequences. 1 release · 1 other source · first seen Sep 2024

release

  • Extends search with --asm <code> to find assembly instructions and --asmbp <code> to set breakpoints on matching instructions. 2024.08.29 · Sep 2024 · source · release history

example

  • Find all ROP gadgets matching an assembly pattern and immediately set breakpoints on each — useful during exploit development to stop at specific instruction sequences. search --asmbp 'pop rdi; ret' 2024.08.29 · Sep 2024 · source
Memory gap detection shipped Identify unmapped memory regions between allocated segments for analysis or exploitation. 1 release · 1 other source · first seen Sep 2024

release

  • Adds vmmap --gaps to display unmapped memory gaps alongside mapped regions. 2024.08.29 · Sep 2024 · source · release history

example

  • Identify unmapped memory gaps in a process — helpful for spotting guard pages or finding injection targets. vmmap --gaps 2024.08.29 · Sep 2024 · source
Memory spraying shipped Spray memory at a target address with specific data values for testing or exploitation purposes. 1 release · 1 other source · first seen Jul 2023

Also counts toward: Command-line interface

release

  • Added spray <addr> ... command to spray memory with given values 2023.07.17 · Jul 2023 · source · release history

example

  • Spray memory at a target address with specific data. (gdb) spray 0xdeadbeef b'AAAA' 2023.07.17 · Jul 2023 · source
Thread management shipped Kill specific threads by ID during a debugging session. 1 release · 1 other source · first seen Jul 2023

Also counts toward: Command-line interface

release

  • Added killthreads [<ids...>] command to kill threads with given IDs 2023.07.17 · Jul 2023 · source · release history

example

  • Kill specific threads by ID during debugging. (gdb) killthreads 1234 5678 2023.07.17 · Jul 2023 · source
Pointer chain analysis shipped Search for pointer chains starting from a specific address to trace heap structures or follow P2P links. 1 release · 1 other source · first seen Jan 2022

Also counts toward: Command-line interface

release

  • Adds the p2p command for pointer chain search (P2P) via source code 2022.01.05 · Jan 2022 · source · release history

example

  • Search for pointer chains starting from a specific address to trace heap structures. p2p <address> 2022.01.05 · Jan 2022 · source
Leak finding automation shipped Automate the discovery of memory leaks during debugging sessions using a dedicated algorithm. 1 release · 1 other source · first seen Dec 2019

Also counts toward: Command-line interface

release

  • Adds the leakfind command to automate finding memory leaks during debugging sessions 2019.12.09 · Dec 2019 · source · release history

example

  • Run the new leak finding algorithm to identify potential memory corruption or leaks in your target process. leakfind 2019.12.09 · Dec 2019 · source
Diagnostic report generation shipped Generate a diagnostic report for debugging issues using a dedicated command or subcommand. 1 release · 1 other source · first seen Jan 2019

Also counts toward: Command-line interface

release

  • bugreport new subcommand added for generating diagnostics 2019.01.25 · Jan 2019 · source · release history

example

  • Generate a diagnostic report for a debugging issue. bugreport 2019.01.25 · Jan 2019 · source
Conditional syscall stepping shipped Step execution in stepsyscall only until a specific register value or condition is met. 1 other source · first seen Jul 2026

example

  • Run stepsyscall only when a register hits a specific value. stepsyscall write -c '$rdi==0' 2026.07.29 · Jul 2026 · source
Context backtrace hexadecimal offsets shipped Display offsets in backtrace sections of the context panel in hexadecimal format. 1 release · first seen Feb 2026

release

  • Adds set context-backtrace-hex on to display backtrace offsets in hexadecimal 2026.02.18 · Feb 2026 · source · release history
Context stack variable display shipped Display stack variable names and offsets in the context panel when debug info is available. 1 release · first seen Feb 2026

release

  • Adds stack variable names and offsets in the context display when debug info is present 2026.02.18 · Feb 2026 · source · release history
Decompiler integration shipped Integrate with decompilers like IDA Pro, Binary Ninja, Ghidra, and angr-management to provide decompiled code views. 1 release · first seen Feb 2026

release

  • Adds decompiler integration via decomp2dbg, supporting IDA, Binary Ninja, Ghidra, and angr-management as backends; works with both GDB and LLDB 2026.02.18 · Feb 2026 · source · release history
Enhanced ROP gadget scanning shipped Scan executable memory for gadgets with improved integration and color support. 1 release · first seen Feb 2026

release

Last signal context panel shipped Display information about the last signal received by the debugee in the context view. 1 release · first seen Feb 2026

release

  • Adds a last-signal context panel showing the last signal received by the debugee 2026.02.18 · Feb 2026 · source · release history
LLDB core file debugging shipped Load and debug core files using the LLDB backend. 1 release · first seen Feb 2026

release

  • Adds LLDB support for core file loading and debugging 2026.02.18 · Feb 2026 · source · release history
Memory dump to C/Python arrays shipped Dump memory regions as C or Python code arrays for use in exploit development. 1 other source · first seen Feb 2026

Also counts toward: Python scripting support, Scripting language support

example

  • Dump a memory region as a C array for use in an exploit or test harness. hexdump -C c 0x7fffffffd000 256 2026.02.18 · Feb 2026 · source
Memory Protection Keys for Userspace (PKU) detection shipped Detect Intel PKU violations in userspace and display detailed information. 1 release · first seen Feb 2026

release

  • Adds Intel PKU (Memory Protection Keys for Userspace) violation detection with detailed info messages 2026.02.18 · Feb 2026 · source · release history
Page table walking for kernel tasks shipped Walk page tables for different kernel tasks in the vmmap and pagewalk commands when debug info is present. 1 release · first seen Feb 2026

release

  • Extends pagewalk to walk page tables of different kernel tasks when debug info is present 2026.02.18 · Feb 2026 · source · release history
Portable build debuginfod client shipped Automatically fetch debug symbols from a hosted server for portable releases. 1 release · first seen Feb 2026

release

  • Enables debuginfod client by default in portable releases, automatically fetching debug symbols from a hosted server covering Ubuntu, Debian, Fedora, Arch, NixOS, and more 2026.02.18 · Feb 2026 · source · release history
PowerPC branch resolution shipped Resolve and emulate branches in PowerPC architectures to support accurate disassembly. 1 release · first seen Feb 2026

release

Sparc architecture support shipped Provide debugging and disassembly support for the Sparc architecture. 1 release · first seen Feb 2026

release

Kernel BPF inspection shipped Inspect kernel BPF program internals during live kernel debugging. 1 release · first seen Oct 2025

Also counts toward: Command-line interface

release

  • Adds kbpf command for inspecting kernel BPF internals during live kernel debugging sessions. 2025.10.20 · Oct 2025 · source · release history
Kernel page marker detection shipped Detect page markers without requiring debug symbols to broaden kernel debugging coverage. 1 release · first seen Oct 2025

release

  • Enables page marker detection without requiring debug symbols, broadening kernel debugging coverage. 2025.10.20 · Oct 2025 · source · release history
Apple commpage inspection shipped Dump Apple commpage memory mapping information. 1 release · first seen Oct 2025

Also counts toward: Command-line interface

release

  • New commpage command in LLDB to dump Apple commpage memory mapping. 2025.10.10 · Oct 2025 · source · release history
Configuration and display options shipped Add max-decimal-number config and remove PWNDBG_DISABLE_COLORS support. 1 release · first seen Oct 2025

release

  • New max-decimal-number config option to set the threshold above which values display in hex instead of decimal. 2025.10.10 · Oct 2025 · source · release history
Go binary architecture support shipped Add support for Go binaries on MIPS, LoongArch64, and s390x architectures. 1 release · first seen Oct 2025

release

  • Adds Go binaries support for mips, loongarch64, and s390x architectures. 2025.10.10 · Oct 2025 · source · release history
Branch condition emulation markers shipped Mark branches that will not be taken in the disassembly output using emulation. 1 release · first seen May 2025

release

  • Disassembly now marks branches that will NOT be taken with a ✘ marker via emulation. 2025.05.30 · May 2025 · source · release history
x64 register exposure for QEMU shipped Expose additional x64 registers for use in QEMU-system kernel debugging. 1 release · first seen May 2025

release

  • Exposes additional x64 registers for QEMU-system kernel debugging. 2025.05.30 · May 2025 · source · release history
LLDB API controls shipped Expose programmatic debugger controls via an API for scripting and testing within the LLDB backend. 1 release · first seen Apr 2025

Also counts toward: Scripting API

release

  • LLDB gains programmatic debugger controls, usable as an API for scripting and tests. 2025.04.18 · Apr 2025 · source · release history
Executable gadget scanning shipped Scan all executable memory regions for ROP/RISC gadgets to assist in exploitation. 1 release · first seen Jan 2025

release

  • The ropgadget command now scans all executable memory regions for gadgets. 2025.01.20 · Jan 2025 · source · release history
Global Descriptor Table inspection shipped Dump and inspect Global Descriptor Table entries from a specified address. 1 release · first seen Jan 2025

Also counts toward: Command-line interface

release

  • New gdt <addr> command dumps Global Descriptor Table entries from a given address. 2025.01.20 · Jan 2025 · source · release history
Linux kernel symbol table lookup shipped Provide helpers to look up Linux kernel symbols directly from the kernel symbol table. 1 release · first seen Jan 2025

Also counts toward: Command-line interface

release

  • New kallsyms and klookup commands provide Linux kernel symbol table lookup helpers. 2025.01.20 · Jan 2025 · source · release history
Memory string search shipped Search memory regions for readable strings, similar to the standard strings CLI utility. 1 release · first seen Jan 2025

Also counts toward: Command-line interface

release

  • New strings command searches memory for readable strings, similar to the strings CLI utility. 2025.01.20 · Jan 2025 · source · release history
Android Binder inspection shipped Display information related to the Android Binder driver for IPC debugging. 1 release · first seen Sep 2024

Also counts toward: Command-line interface

release

  • Adds commands to display Android Binder driver info (experimental). 2024.08.29 · Sep 2024 · source · release history
Per-CPU page cache inspection shipped Print Linux kernel per-CPU page cache information for performance analysis. 1 release · first seen Sep 2024

Also counts toward: Command-line interface

release

  • Adds pcp command to print Linux kernel per-cpu page cache. 2024.08.29 · Sep 2024 · source · release history
Assembly stepping shipped Step execution until a specific assembly instruction string is encountered. 1 release · first seen Feb 2024

Also counts toward: Command-line interface

release

  • Adds stepuntilasm <asm> command to step until a matching instruction string is found 2024.02.14 · Feb 2024 · source · release history
Branch condition breakpointing shipped Set breakpoints that trigger only when a conditional branch is taken or not taken. 1 release · first seen Feb 2024

Also counts toward: Command-line interface

release

  • Adds break-if-taken <loc> and break-if-not-taken <loc> commands to set branch condition breakpoints 2024.02.14 · Feb 2024 · source · release history
GOT tracking shipped Monitor calls to the Global Offset Table to detect dynamic symbol resolution or overwrites. 1 release · first seen Feb 2024

Also counts toward: Command-line interface

release

  • Adds track-got {enable,disable,info,query} command for GOT tracking 2024.02.14 · Feb 2024 · source · release history
Linked list inspection shipped Print and traverse linked lists stored in memory by following pointers. 1 release · first seen Feb 2024

Also counts toward: Command-line interface

release

Sigreturn frame inspection shipped Print and analyze sigreturn frames for x86-64 architectures. 1 release · first seen Feb 2024

release

  • Adds mmap ... and mprotect ... commands to invoke syscalls in the debugged program 2024.02.14 · Feb 2024 · source · release history
AI session assistance shipped Allow users to ask an AI about the current debugging session state using a dedicated command. 1 release · first seen Mar 2023

Also counts toward: Command-line interface

release

  • Adds ai command to ask an AI about the current debugging session (requires OpenAI API key) 2023.03.19 · Mar 2023 · source · release history
Rizin backend support shipped Use pwndbg with Rizin as a backend for debugging workflows. 1 release · first seen Mar 2023

release

Virtual list inspection shipped Dump and inspect the contents of a va_list structure at a given address to analyze variable arguments. 1 release · first seen Mar 2023

Also counts toward: Command-line interface

release

  • Adds valist command to dump arguments of a va_list structure at a given address 2023.03.19 · Mar 2023 · source · release history
Interactive Python shell shipped Provide an embedded IPython prompt within the debugger for programmatic interaction and scripting. 1 other source · first seen Dec 2022

Also counts toward: Python scripting support, Scripting language support

example

  • Interact with the debugger programmatically using full Python syntax. (gdb) ipi 2022.12.19 · Dec 2022 · source
Memory patching shipped Modify memory contents directly during debugging sessions to test exploits or modify execution flow. 1 release · first seen Dec 2022

Also counts toward: Command-line interface

release

Return offset stepping shipped Support specifying return offsets when using the start method to control execution flow. 1 release · first seen Jun 2021

release

  • start method now supports return offsets via return_offset argument 2021.06.22 · Jun 2021 · source · release history
x86_16 architecture support shipped Provide debugging support for the i8086 architecture for x86_16 debug sessions. 1 release · first seen Jun 2021

release

  • New i8086 architecture support for x86_16 debug sessions 2021.06.22 · Jun 2021 · source · release history
Enhanced heap analysis shipped Improve heap analysis capabilities by recognizing specific checked memory functions. 1 release · first seen Dec 2019

release

  • Adds __read_chk, __fread_chk and __pread_chk to recognized functions for improved heap analysis 2019.12.09 · Dec 2019 · source · release history
Module-based hexdumping shipped Allow hexdumps to be filtered or targeted by module name using vmmap syntax. 1 release · first seen Dec 2019

release

  • Allows hexdump by module name using the existing vmmap syntax 2019.12.09 · Dec 2019 · source · release history
Leak scanning shipped Scan for pointers within specified memory regions to identify potential information leaks. 1 release · first seen Jul 2018

Also counts toward: Command-line interface

release

  • Add probeleak command to scan for pointers within specified memory regions. 2018.07.29 · Jul 2018 · source · release history
Return instruction stepping shipped Step execution until a return instruction is hit using the stepret command. 1 release · first seen Jul 2018

release

  • Add stepret command to step execution until a return instruction is hit. 2018.07.29 · Jul 2018 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Screenshots

From the release notes, newest first. Click one to see it full size.

2026.10.22 Oct 22, 2026

2026.09.15 Sep 20, 2026

2026.07.29 Jul 30, 2026

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for pwndbg, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail pwndbg puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

25 entries

  1. October 20261
  2. September 20261
  3. July 20261
  4. February 20261
  5. October 20252
  6. May 20251
  7. April 20252
  8. February 20251
  9. January 20251
  10. September 20241
  11. February 20241
  12. July 20231
  13. March 20231
  14. December 20221
  15. August 20221
  16. January 20221
  17. June 20211
  18. July 20201
  19. December 20191
  20. January 20191
  21. July 20181
  22. February 20171
  23. September 20161
    Show

    25 entries

    Project health

    Issue, contributor and maintainer activity in pwndbg/pwndbg, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 78 +11 vs prior 12 months
    2. Maintainers 8 +4 joined · −3 left, last 12 months
    3. Bus factor 4 committers behind half the commits
    4. Community-filed 73% of issues opened, last 12 months
    5. Median time to close 49 days first maintainer reply 2.7 days
    6. Open backlog 202 of 1,361 issues ever filed
    1. Issues opened / month 10 · 9 communitymaintainers
    2. Open backlog 202
    3. Contributors / month 16
    4. Commits / month 62
    5. Stars 10,872
    Issue themes, last 12 months
    • bugs 60%
    • features 18%
    • questions 2%
    • docs 0%
    • other 20%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Ships a vulnerable library

    What its latest release locks, checked against known advisories.

    certifi 2025.8.3 in its image

    critical

    pwndbg 2026.10.28 builds its image from uv.lock, which locks certifi 2025.8.3. That version has GHSA-6q48-6c7w-9gw2.

    Fixed in certifi 2026.10.18. No pwndbg release includes it yet; its main branch already has it.

    GHSA-6q48-6c7w-9gw2 advisory Checked Nov 3 against pwndbg 2026.10.28

    gitpython 3.1.45 in its image

    critical

    pwndbg 2026.10.28 builds its image from uv.lock, which locks gitpython 3.1.45. That version has GHSA-284h-m62q-gf8w and 28 other high or critical flaws.

    Fixed in gitpython 3.2.1. No pwndbg release includes it yet.

    GHSA-284h-m62q-gf8w advisory Checked Nov 3 against pwndbg 2026.10.28

    uv 0.12.0 in its image

    critical

    pwndbg 2026.10.28 builds its image from uv.lock, which locks uv 0.12.0. That version has GHSA-hq85-5cpj-mr62.

    Fixed in uv 0.13.4. No pwndbg release includes it yet; its main branch already has it.

    GHSA-hq85-5cpj-mr62 advisory Checked Nov 3 against pwndbg 2026.10.28

    cryptography 46.0.7 in its image

    high

    pwndbg 2026.10.28 builds its image from uv.lock, which locks cryptography 46.0.7. That version has GHSA-537c-gmf6-5ccf and 2 other high or critical flaws.

    Fixed in cryptography 50.0.0. No pwndbg release includes it yet.

    GHSA-537c-gmf6-5ccf advisory Checked Nov 3 against pwndbg 2026.10.28

    mako 1.3.10 in its image

    high

    pwndbg 2026.10.28 builds its image from uv.lock, which locks mako 1.3.10. That version has GHSA-2h4p-vjrc-8xpq and 1 other high or critical flaw.

    Fixed in mako 1.3.12. No pwndbg release includes it yet; its main branch already has it.

    GHSA-2h4p-vjrc-8xpq advisory Checked Nov 3 against pwndbg 2026.10.28

    msgpack 1.1.1 in its image

    high

    pwndbg 2026.10.28 builds its image from uv.lock, which locks msgpack 1.1.1. That version has GHSA-6v7p-g79w-8964 and 1 other high or critical flaw.

    Fixed in msgpack 1.2.3. No pwndbg release includes it yet.

    GHSA-6v7p-g79w-8964 advisory Checked Nov 3 against pwndbg 2026.10.28

    pymdown-extensions 11.0 in its image

    high

    pwndbg 2026.10.28 builds its image from uv.lock, which locks pymdown-extensions 11.0. That version has GHSA-gm37-52c6-37mw.

    Fixed in pymdown-extensions 11.0.1. No pwndbg release includes it yet.

    GHSA-gm37-52c6-37mw advisory Checked Nov 3 against pwndbg 2026.10.28

    urllib3 2.6.3 in its image

    high

    pwndbg 2026.10.28 builds its image from uv.lock, which locks urllib3 2.6.3. That version has GHSA-8988-9cw3-xx77 and 3 other high or critical flaws.

    Fixed in urllib3 2.8.0. No pwndbg release includes it yet.

    GHSA-8988-9cw3-xx77 advisory Checked Nov 3 against pwndbg 2026.10.28

    We check the lockfiles its release builds images from: 1 Python. Go modules, other lockfiles and vendored code aren't checked.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →