Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>QEMU DevToolsNew to Visual Studio Code? Get it now.
QEMU DevTools

QEMU DevTools

lolrobbe2

| (0) | Free
qemu based developer tools, build in rendering to vscode panels.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

qemu-devtools README

qemu-debug-logo

Features

  • qemu executable detection
  • embedded display (render the window to a vscode tab)
  • embedded display

QEMU Debug

The QEMU Debug configuration allows you to debug C and C++ applications running in a QEMU virtual machine. It supports configurable target architectures, GDB connections, symbol files, virtual drives, and custom devices.

Configuration

Create a launch.json file in your .vscode folder and configure the debugger using the following properties.

Property Type Default Description
name string Required Name of the debug configuration.
program string Required Path to the executable being debugged.
cwd string ${workspaceFolder} Working directory for the debug session.
architeture string x86_64 Target architecture.
stopAtEntry boolean — Stop execution at the entry point.
debuggerServerAddress string localhost:1234 Address of the debugger server.
executableType number 1 Executable type: 1 for console, 2 for Windows GUI.
endianness number 2 Target byte order: 1 for big-endian, 2 for little-endian.
symbolFiles array [] Additional ELF symbol files to load.
sourcePath string ${workspaceFolder} Local source path for GDB source mapping.
embbededDisplay boolean — Render QEMU inside a VS Code tab when enabled.
drives array [] Virtual drives to attach to the VM.
devices array — Additional QEMU devices to create.

Example Configuration

A minimal configuration for debugging a C or C++ executable:

{
    "name": "QEMU Debug",
    "type": "qemudbg",
    "request": "launch",
    "program": "${workspaceFolder}/build/kernel.elf",
    "cwd": "${workspaceFolder}",
    "architeture": "x86_64",
    "stopAtEntry": true,
    "debuggerServerAddress": "localhost:1234",
    "embbededDisplay": false
}

Symbol Files

The symbolFiles property allows additional ELF symbol files to be loaded. Each entry requires a path and optionally accepts an offset for symbol relocation.

"symbolFiles": [
    {
        "path": "${workspaceFolder}/build/kernel.elf",
        "offset": "0x100000"
    }
]

If offset is omitted, the ELF entry point is used.

Virtual Drives

Use drives to attach disk images or FAT directories to the virtual machine.

Each drive requires:

  • interface: Drive interface, such as virtio, ide, or scsi.
  • format: Image format, such as raw or qcow2.
  • file: Path to the disk image or FAT directory.

Optional properties:

  • readonly: Attach the drive as read-only.
  • fat: Treat the specified directory as a FAT drive.

Custom Devices

Use devices to create additional QEMU devices.

Each device requires a driver and optionally accepts device-specific properties.

"devices": [
    {
        "driver": "virtio-net-pci",
        "properties": {
            "disable-legacy": true
        }
    }
]

Initial Configuration

The extension provides a default configuration:

{
    "name": "QEMU Debug",
    "type": "qemudbg",
    "request": "launch",
    "embbededDisplay": false
}

Add the program property before starting a debugging session, as it is required.


Enjoy!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft