dap-mode
Table of Contents
Summary
Emacs client/library for Debug Adapter Protocol is a wire protocol for communication between client and Debug Server. It’s similar to the LSP but provides integration with debug server.
Project status
The API considered unstable until 1.0 release is out. It is tested against Java, Python, Ruby, Elixir and LLDB (C/C++/Objective-C/Swift).
Usage
The main entry points are dap-debug
and dap-debug-edit-template
. The first
one asks for a registered debug template and starts the configuration using
the default values for that particular configuration. The latter creates a
debug template which could be customized before running.
dap-debug-edit-template
will prepare a template deceleration inside a
temporary buffer. You should execute this code using C-M-x
for the changes to
apply. You should also copy this code into your Emacs configuration if you wish to
make it persistent.
dap-mode also provides a hydra with dap-hydra
. You can automatically trigger
the hydra when the program hits a breakpoint by using the following code.
(add-hook 'dap-stopped-hook
(lambda (arg) (call-interactively #'dap-hydra)))
Features
Configuration
Gallery
Extending DAP with new Debug servers
Links
Acknowledgments
- Daniel Martin - LLDB integration.
- Kien Nguyen - NodeJS debugger, Edge debuggers, automatic extension installation.
- Aya Igarashi - Go debugger integration.
- Nikita Bloshchanevich - launch.json support (+ variable expansion), debugpy support, (with some groundwork by yyoncho) runInTerminal support, various bug fixes.