{"id":18827129,"url":"https://github.com/nullpo-head/dbgee","last_synced_at":"2025-04-14T02:10:55.154Z","repository":{"id":49947358,"uuid":"349322593","full_name":"nullpo-head/dbgee","owner":"nullpo-head","description":"The zero-configuration debuggee for debuggers. Handy utility that allows you to launch CLI debuggers and VSCode debuggers from the debuggee side.","archived":false,"fork":false,"pushed_at":"2022-09-08T06:59:48.000Z","size":20905,"stargazers_count":89,"open_issues_count":2,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T16:09:24.541Z","etag":null,"topics":["debugger","vscode"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nullpo-head.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-19T06:24:55.000Z","updated_at":"2024-11-19T12:34:41.000Z","dependencies_parsed_at":"2023-01-18T00:45:27.408Z","dependency_job_id":null,"html_url":"https://github.com/nullpo-head/dbgee","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullpo-head%2Fdbgee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullpo-head%2Fdbgee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullpo-head%2Fdbgee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nullpo-head%2Fdbgee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nullpo-head","download_url":"https://codeload.github.com/nullpo-head/dbgee/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248809046,"owners_count":21164896,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debugger","vscode"],"created_at":"2024-11-08T01:13:05.588Z","updated_at":"2025-04-14T02:10:55.119Z","avatar_url":"https://github.com/nullpo-head.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dbgee - the Zero-Configuration Debuggee for Debuggers\n\n\u003cimg src=\"vscode-ext/images/icon.png\" width=\"128px\" height=\"128px\"\u003e\n\nDbgee is a handy utility that allows you to launch CLI debuggers and VSCode debuggers from the debuggee side.\nJust start your program by a simple command in a terminal, and the debugger will automatically attach to it with zero configuration.\nDbgee also has the ability to preconfigure your program to automatically start a debug session no matter how the program is started.\n\nDbgee is very useful especially when your program requires command line arguments or redirection, or when your program is launched by some script.\nIn addition, Dbgee frees you from the hassle of writing `launch.json` for VSCode.\n\n## Demos\n\nSince the concept of Dbgee may be new to you, so here are some demos.\n\n### Debug your program with zero configuration in Visual Studio Code\n\n```shell\ndbgee run -- ./cmd\n```\n\n\u003cimg alt=\"demo image\" src=\"vscode-ext/images/DbgeeRunInVsCode.gif\" width=\"850px\"\u003e\n\n### Find and attach to a process compiled from source files in the current directory, from all descendant processes of the given command\n\n**Linux only**\n\n```shell\ndbgee run --hook-source-dir . -- ./any_run_script\n```\n\n\u003cimg alt=\"demo image\" src=\"vscode-ext/images/DbgeeHookInVsCode.gif\" width=\"850px\"\u003e\n\n### Configure your program to launch a debugger when it runs\n\n```shell\ndbgee set command\n```\n\n\u003cimg alt=\"demo image\" src=\"vscode-ext/images/DbgeeSetInVsCode.gif\" width=\"850px\"\u003e\n\n### Start a debug session with custom settings\n\n\u003cimg alt=\"demo image\" src=\"vscode-ext/images/DbgeeCustomConfig.gif\" width=\"850px\"\u003e\n\n### Launch CUI debuggers in tmux\n\n\u003cimg alt=\"demo image\" src=\"vscode-ext/images/DbgeeRunSetInTmux.gif\" width=\"850px\"\u003e\n\n## Supported languages and platforms\n\n### Languages\n\nThe current supported languages are C, C++, Rust, Go, Python and any languages which Gdb, LLDB, or CodeLLDB support.\n\n### Platforms\n\n- Linux x64 (including WSL2). Tested and built on ubuntu-latest of GitHub action\n- macOS x64. Tested and built on macos-latest of GitHub action\n\n## Installation\n\nThere are two components, `dbgee` command and the optional VSCode extension.\n\n### `dbgee` command\n\n#### Linux\n\n```shell\ncurl -L -O https://github.com/nullpo-head/dbgee/releases/download/cli-v0.5.0/dbgee-linux-x64.tar.gz\ntar xvf dbgee-linux-x64.tar.gz\nmv dbgee /usr/local/bin/ # Or anywhere in the PATH\n```\n\n#### macOS\n\n```shell\ncurl -L -O https://github.com/nullpo-head/dbgee/releases/download/cli-v0.5.0/dbgee-darwin-x64.tar.gz\ntar xvf dbgee-darwin-x64.tar.gz\nmv dbgee /usr/local/bin/ # Or anywhere in the PATH\n```\n\n### VSCode extension\n\nPlease install \"Dbgee\" extension from [the marketplace](https://marketplace.visualstudio.com/items?itemName=nullpo-head.dbgee).\n\n## Usage\n\n### Run and attach to your program\n\nUse `run` subcommand to launch your program and attach a proper debugger to it.\n\n#### Launch a CLI debugger in a tmux window\n\nBy the following command, the proper debugger for your program launches in a new tmux window.\n\n```shell\ndbgee run -- ./program arg0 arg1 arg2...\n```\n\nYou can manually specify your preferred debugger by the `-d` option.\n\n```shell\ndbgee run -d lldb -- ./program arg0 arg1 arg2...\n```\n\n`dbgee` launches a debugger in a new tmux window unless you run `dbgee` in an integrated terminal in VSCode.\nHowever, you can choose other options by specifying `-t` option. Please see the help for more information.\n\n```shell\ndbgee run -t tmuxw -- ./program  arg0 arg1 arg2... # launch a debugger in a new tmux window instead of a window\n```\n\n#### Debug your program in VSCode\n\n`dbgee` launches the given debuggee and wait for VSCode to connect to your program\nif `dbgee` is running in a VSCode's integrated terminal.\nRun the following command, and attach to your program in VSCode as the demo videos.\n\n```shell\ndbgee run -- ./program arg0 arg1 arg2...\n```\n\nOr, you can use `-t vscode` option to explicitly make `dbgee` wait for VSCode.\n\n```shell\ndbgee run -t vscode -- ./program arg0 arg1 arg2...\n```\n\n### Automatically attach a debugger when your program is launched\n\n`set` subcommand will automatically attach a debugger to your program, no matter by what means it is started.\nThis is a very useful feature when your program is launched by some start up scripts in your development flow.\nHowever, please note that `set` command doesn't work if you rebuild your program after you run `set`,\nor when your start up scripts incur rebuild, because `set` command works by replacing your program with a wrapper script.\n\n```shell\ndbgee set ./program\n./program arg0 arg1 arg2  # your program is launched, being attached by the debugger\n```\n\nUse `unset` command to stop the debugger from attaching automatically\n\n```shell\ndbgee unset ./program\n```\n\nIf you specify some to launch your program, `dbgee` automatically runs `unset` after your command finishes.\n\n```shell\ndbgee set ./program -- ./some_startup_script\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnullpo-head%2Fdbgee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnullpo-head%2Fdbgee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnullpo-head%2Fdbgee/lists"}