{"id":22911649,"url":"https://github.com/nova-ruby/debug","last_synced_at":"2025-05-09T01:33:41.180Z","repository":{"id":143910265,"uuid":"575512268","full_name":"nova-ruby/debug","owner":"nova-ruby","description":"Ruby's rdbg debugger support for Nova.","archived":false,"fork":false,"pushed_at":"2024-04-19T13:31:51.000Z","size":213,"stargazers_count":5,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-31T20:40:06.403Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nova-ruby.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-07T17:17:30.000Z","updated_at":"2023-08-07T10:38:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"372b6ae9-a6ef-4b51-a2cf-20a424e501c0","html_url":"https://github.com/nova-ruby/debug","commit_stats":null,"previous_names":["nova-ruby/debug"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nova-ruby%2Fdebug","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nova-ruby%2Fdebug/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nova-ruby%2Fdebug/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nova-ruby%2Fdebug/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nova-ruby","download_url":"https://codeload.github.com/nova-ruby/debug/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253174414,"owners_count":21865861,"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":[],"created_at":"2024-12-14T04:17:26.147Z","updated_at":"2025-05-09T01:33:41.172Z","avatar_url":"https://github.com/nova-ruby.png","language":"JavaScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/tommasongr/nova-ruby-debug/main/misc/extension.png\" width=\"80\" height=\"80\"\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eRuby Debug for Nova\u003c/h1\u003e\n\nConnect Nova to the **[Ruby Debug](https://github.com/ruby/debug)** gem enabling local and remote debugging.\n\nThe connection is made possible by the `rdbg` command. This is why you can consider the extension as the Nova's [vscode-rdbg](https://github.com/ruby/vscode-rdbg) counterpart.\n\n\u003e Please be patient if you get into issues or limitations. We are still testing and improving the extension.\n\n\u003e Right now not all the settings and features of `vscode-rdbg` are supported.\n\u003e This is true especially for the remote debugger.\n\u003e The aim in the future is to bring it near to a one to one porting.\n\n## Requirements\n\nYou need to install latest `debug` gem and `rdbg` command should be in `$PATH`.\n\n```\n$ gem install debug\n```\n\nIf you are using `ruby 3.1.0` or later the `debug` gem comes bundled.\n\n## Local debugging (launch)\n\n### Setup\n\nTo start using the local debugger go to Nova's Project Settings and add a new \"Ruby Debug\" task from the provided template.\n\n### Usage\n\nYou can configure the debugger as you like in the Project Settings or run it as it is.\nThe default configuration will try to find the `rdbg` command on your machine and run the current open file in Nova with the `ruby` command.\n\nIf a breakpoint is found, the program execution should pause and the debugger console should appear.\n\n## Remote debugging (attach)\n\n### Setup\n\nTo start using the remote debugger go to Nova's Project Settings and add a new \"Ruby Remote Debug\" task from the provided template.\n\n### Usage\n\nTo use the remote debugger make sure you are running the `rdbg` command with the `--open` flag.\nThis informs `rdbg` to listen for connections from the outside.\n\n**Right now the only connection method allowed is `domainSocket`.**\nIt means that if at startup the debugger finds a single open `socketPath` will use that, otherwise **you have to specify which one to use**.\n\n**Specifying the socketPath**\n\nStart by generating a `socketPath` with the `rdbg --util=gen-sockpath` command.\nIt should print something like:\n\n```\n/var/folders/0y/5cyl_crn3mv0y_gyg734ty2h0000gn/T/ruby-debug-sock-501/ruby-debug-tommaso-71169\n```\n\nNext configure the `rdbg` command to use the generated socket by specifying `--sock-path=SOCK_PATH`.\n\nThe last step is to tell the remote debugger to use the generated socket. You can do that in the Ruby Remote Debug task settings.\n\n### Examples\n\n**Ruby on Rails**\n\nAllow remote debugging by running `rails server` under `rdbg`:\n\n```\n$ rdbg --command --open --nonstop -- rails server\n```\n\nTo use the new `bin/dev` command edit your `Procfile.dev` accordingly:\n\n```\nweb: rdbg --command --open --nonstop -- bin/rails server -p 3000\ncss: bin/rails tailwindcss:watch\n``` \n\n## Contributing\n\nYou are welcome to contribute to the development!\n\nAll you have to do to get up and running is to fork, download and rename the folder from `nova-ruby-debug` to `Ruby Debug.novaextension`.\nAfter that you should be able to active the project as extension from the Nova's `Extensions` menu.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnova-ruby%2Fdebug","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnova-ruby%2Fdebug","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnova-ruby%2Fdebug/lists"}