{"id":13450732,"url":"https://github.com/laurentlb/stardbg","last_synced_at":"2025-05-03T14:32:31.172Z","repository":{"id":57641622,"uuid":"277348355","full_name":"laurentlb/stardbg","owner":"laurentlb","description":"A standalone debugger for Starlark","archived":false,"fork":false,"pushed_at":"2020-07-10T16:45:08.000Z","size":120,"stargazers_count":22,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-07T17:04:25.153Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laurentlb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-05T17:12:41.000Z","updated_at":"2024-08-21T04:18:10.000Z","dependencies_parsed_at":"2022-09-05T13:11:44.450Z","dependency_job_id":null,"html_url":"https://github.com/laurentlb/stardbg","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laurentlb%2Fstardbg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laurentlb%2Fstardbg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laurentlb%2Fstardbg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laurentlb%2Fstardbg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laurentlb","download_url":"https://codeload.github.com/laurentlb/stardbg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252203383,"owners_count":21710953,"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-07-31T07:00:37.766Z","updated_at":"2025-05-03T14:32:30.833Z","avatar_url":"https://github.com/laurentlb.png","language":"JavaScript","funding_links":[],"categories":["Tooling"],"sub_categories":["Starlark"],"readme":"# Experimental debugger for Starlark\n\nThis is a standalone debugger for Starlark ,with a web-based UI. In theory, it\ncan be used to debug any Starlark code that uses the same debugging protocol. At\nthe moment, the only known compatible server is Bazel.\n\nThis is the first draft, there are lots of rough edges and known limitations.\n\n![Screenshot](screenshot.png)\n\n\n## Example of use\n\n1. Run your normal Bazel command with `--experimental_skylark_debug`, e.g.\n\n```\nbazel build --experimental_skylark_debug //my:target\n```\n\nThe command will hang until a debugger is attached.\n\n2. In a different shell, run the debugger from the stardbg repository. Choose\n  where you want your initial breakpoints using an absolute path and a line\n  number, e.g.\n\n```\nbazel run :stardbg -- /home/myself/dir/my/BUILD.bazel:3\n```\n\nOf course, the file should be inside the repository you are debugging (a file\nused by `//my:target`).\n\n3. Open a browser at http://localhost:8080/\n\n\n## Caveats\n\n* A breakpoint will be effective only when the corresponding line is evaluated.\n  Since Bazel aggressively caches the results, you may want to do a spurious\n  change to a file to force a re-evaluation.\n\n* At the moment, you need to kill and rerun the debugger each time you restart a\n  debugging session. Also, reload the web page.\n\n* Supported features: display of local variables (in each level of the\n  stack trace), support for threads (you can choose which thread to debug,\n  switch thread, etc.).\n\n* Missing features: conditional breakpoints, evaluation of custom expressions.\n  The visualization of values is very limited.\n\n\n## Alternative\n\n* The VS Code plugin for Bazel supports the same protocol: https://github.com/bazelbuild/vscode-bazel#using-the-starlark-debugger\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaurentlb%2Fstardbg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaurentlb%2Fstardbg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaurentlb%2Fstardbg/lists"}