All Projects → nullpo-head → dbgee

nullpo-head / dbgee

Licence: other
The zero-configuration debuggee for debuggers. Handy utility that allows you to launch CLI debuggers and VSCode debuggers from the debuggee side.

Programming Languages

rust
11053 projects
typescript
32286 projects
shell
77523 projects
Makefile
30231 projects
go
31211 projects - #10 most used programming language
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to dbgee

vscode-android-webview-debug
Debug your JavaScript code running in WebViews on any Android device from VS Code.
Stars: ✭ 18 (-73.13%)
Mutual labels:  debugger
jsrdbg
JavaScript Remote Debugger for SpiderMonkey.
Stars: ✭ 23 (-65.67%)
Mutual labels:  debugger
debug
Debugging functionality for Ruby
Stars: ✭ 706 (+953.73%)
Mutual labels:  debugger
Devel-Camelcadedb
Perl module for debugging with Perl5 plugin for IntelliJ
Stars: ✭ 23 (-65.67%)
Mutual labels:  debugger
kodi.web-pdb
Web-based remote Python debugger for Kodi addons
Stars: ✭ 73 (+8.96%)
Mutual labels:  debugger
playwright-session
Visual Debugger for Playwright automation.
Stars: ✭ 39 (-41.79%)
Mutual labels:  debugger
cc-tool
Mirror of cc-tool from SourceForge
Stars: ✭ 144 (+114.93%)
Mutual labels:  debugger
defold-vscode-guide
How to turn VSCode into Defold IDE?
Stars: ✭ 62 (-7.46%)
Mutual labels:  debugger
talvos
Talvos is a dynamic-analysis framework and debugger for Vulkan/SPIR-V programs.
Stars: ✭ 67 (+0%)
Mutual labels:  debugger
MTATD
MTA:SA debugger and unit testing framework
Stars: ✭ 18 (-73.13%)
Mutual labels:  debugger
react-native-debug-console
A network and console debug component and modal for react native purely in JavaScript
Stars: ✭ 17 (-74.63%)
Mutual labels:  debugger
Love-Debug-Graph
An fps/memory/misc graph utillity for Löve2D
Stars: ✭ 29 (-56.72%)
Mutual labels:  debugger
ftrace
Simple Function calls tracer
Stars: ✭ 65 (-2.99%)
Mutual labels:  debugger
gdb
Go GDB/MI interface
Stars: ✭ 70 (+4.48%)
Mutual labels:  debugger
Unity-Visual-Behavior-Tree
Reactive Visual Scripting Behavior Tree Tool for Unity 2018.x+
Stars: ✭ 36 (-46.27%)
Mutual labels:  debugger
vscDebugger
(Partial) Implementation of the Debug Adapter Protocol for R
Stars: ✭ 58 (-13.43%)
Mutual labels:  debugger
gopherlua-debugger
a gopherlua debugger based on emmylua and gopher-lua
Stars: ✭ 15 (-77.61%)
Mutual labels:  debugger
ArmaDebugEngine
A still experimental Script Debugger for Arma 3
Stars: ✭ 38 (-43.28%)
Mutual labels:  debugger
nv2a-trace
A tracing software like apitrace for the original Xbox GPU
Stars: ✭ 20 (-70.15%)
Mutual labels:  debugger
vim-node-inspect
Interactive node debugger for (n)vim
Stars: ✭ 96 (+43.28%)
Mutual labels:  debugger

Dbgee - the Zero-Configuration Debuggee for Debuggers

Dbgee is a handy utility that allows you to launch CLI debuggers and VSCode debuggers from the debuggee side. Just start your program by a simple command in a terminal, and the debugger will automatically attach to it with zero configuration. Dbgee also has the ability to preconfigure your program to automatically start a debug session no matter how the program is started.

Dbgee is very useful especially when your program requires command line arguments or redirection, or when your program is launched by some script. In addition, Dbgee frees you from the hassle of writing launch.json for VSCode.

Demos

The concept of Dbgee should be new and unfamiliar to you, so here are some demos to get you started.

Debug your program with zero configuration in Visual Studio Code

demo image

Configure your program to launch a debugger when it runs

demo image

Start a debug session with custom settings

demo image

Launch CUI debuggers in tmux

demo image

Supported languages and platforms

Languages

The current supported languages are C, C++, Rust, Go, Python and any languages which Gdb, LLDB, or CodeLLDB support.

Platforms

  • Linux x64 (including WSL2). Tested and built on ubuntu-latest of GitHub action
  • macOS x64. Tested and built on macos-latest of GitHub action

Installation

There are two components, dbgee command and the optional VSCode extension.

dbgee command

Linux

curl -L -O https://github.com/nullpo-head/dbgee/releases/download/cli-v0.3.0/dbgee-linux-x64.tar.gz
tar xvf dbgee-linux-x64.tar.gz
mv dbgee /usr/local/bin/ # Or anywhere in the PATH

macOS

curl -L -O https://github.com/nullpo-head/dbgee/releases/download/cli-v0.3.0/dbgee-darwin-x64.tar.gz
tar xvf dbgee-darwin-x64.tar.gz
mv dbgee /usr/local/bin/ # Or anywhere in the PATH

VSCode extension

Please install "Dbgee" extension from the marketplace.

Usage

Run and attach to your program

Use run subcommand to launch your program and attach a proper debugger to it.

Launch a CLI debugger in a tmux window

By the following command, the proper debugger for your program launches in a new tmux window.

dbgee run -- ./program arg0 arg1 arg2...

You can manually specify your preferred debugger by the -d option.

dbgee run -d lldb -- ./program arg0 arg1 arg2...

dbgee launches a debugger in a new tmux window unless you run dbgee in an integrated terminal in VSCode. However, you can choose other options by specifying -t option. Please see the help for more information.

dbgee run -t tmuxw -- ./program  arg0 arg1 arg2... # launch a debugger in a new tmux window instead of a window

Debug your program in VSCode

dbgee launches the given debuggee and wait for VSCode to connect to your program if dbgee is running in a VSCode's integrated terminal. Run the following command, and attach to your program in VSCode as the demo videos.

dbgee run -- ./program arg0 arg1 arg2...

Or, you can use -t vscode option to explicitly make dbgee wait for VSCode.

dbgee run -t vscode -- ./program arg0 arg1 arg2...

Automatically attach a debugger when your program is launched

set subcommand will automatically attach a debugger to your program, no matter by what means it is started. This is a very useful feature when your program is launched by some start up scripts in your development flow. However, please note that set command doesn't work if you rebuild your program after you run set, or when your start up scripts incur rebuild, because set command works by replacing your program with a wrapper script.

dbgee set ./program
./program arg0 arg1 arg2  # your program is launched, being attached by the debugger

Use unset command to stop the debugger from attaching automatically

dbgee unset ./program

If you specify some to launch your program, dbgee automatically runs unset after your command finishes.

dbgee set ./program -- ./some_startup_script
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].