/vscode-lldb

A native debugger extension for VSCode based on LLDB

Primary LanguageRustMIT LicenseMIT

Features

  • Conditional breakpoints, function breakpoints, logpoints,
  • Hardware data access breakpoints (watchpoints),
  • Launch debuggee in integrated or external terminal,
  • Disassembly view with instruction-level stepping,
  • Loaded modules view,
  • Python scripting,
  • HTML rendering for advanced visualizations,
  • Workspace-level defaults for launch configurations,
  • Remote debugging,
  • Reverse debugging (experimental, requires a compatible backend).

For full details please see User's Manual.

Languages

The primary focus of this project are the C++ and Rust languages, for which CodeLLDB includes built-in visualizers for vectors, strings, maps, and other standard library types.
That said, it is usable with most other compiled languages whose compiler generates compatible debugging information, such as Ada, Fortran, Kotlin Native, Nim, Objective-C, Pascal, Swift and Zig.

Supported Platforms

Host

  • Linux with glibc 2.18+ for x86_64, aarch64 or armhf,
  • MacOS X 10.10+ for x86_64 and 11.0+ for arm64,
  • Windows 10 for x86_64.

Target

CodeLLDB supports AArch64, ARM, AVR, MSP430, RISCV, X86 architectures and may be used to debug on embedded platforms via remote debugging.

Quick Start

Here's a minimal debug configuration to get you started:

{
    "name": "Launch",
    "type": "lldb",
    "request": "launch",
    "program": "${workspaceFolder}/<my program>",
    "args": ["-arg1", "-arg2"],
}

Links

Screenshots

C++ debugging with data visualization (Howto):
source

Rust debugging:
source