{"id":28935087,"url":"https://github.com/heavycircle/howto-gdb","last_synced_at":"2026-02-26T06:50:53.600Z","repository":{"id":203112000,"uuid":"708844814","full_name":"heavycircle/howto-gdb","owner":"heavycircle","description":"Guide on using GDB","archived":false,"fork":false,"pushed_at":"2023-10-31T15:16:35.000Z","size":706,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-06T23:33:18.655Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://gdb.coleellis.com","language":null,"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/heavycircle.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-23T13:59:41.000Z","updated_at":"2024-09-25T18:42:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"f3b3b55b-6b75-4d81-8939-937056a72a7a","html_url":"https://github.com/heavycircle/howto-gdb","commit_stats":null,"previous_names":["thecae/howto-gdb","coleellis/howto-gdb","heavycircle/howto-gdb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/heavycircle/howto-gdb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heavycircle%2Fhowto-gdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heavycircle%2Fhowto-gdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heavycircle%2Fhowto-gdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heavycircle%2Fhowto-gdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heavycircle","download_url":"https://codeload.github.com/heavycircle/howto-gdb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heavycircle%2Fhowto-gdb/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261348752,"owners_count":23145315,"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":"2025-06-22T19:10:25.497Z","updated_at":"2026-02-26T06:50:53.583Z","avatar_url":"https://github.com/heavycircle.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mastering GDB\n\n`gdb` is the most commonly used debugger. The base installation is super user-friendly and offers a rich feature set. It is also very easy to extend with plugins.\n\nNearly every challenge dissected in this guide used `gdb`, with a few exceptions.\n\n{% hint style=\"info\" %}\n`gdb` has a _LOT_ of features. This guide covers the ones that are most commonly used in everyday settings. If you want to read more, check out [this summary guide](https://gist.github.com/integeruser/0c436a64e087b1c43b278761434cbbfa).\n{% endhint %}\n\n## Installation\n\nInstallation of `gdb` is extremely simple:\n\n```nasm\npip install gdb\n```\n\nTo extend its feature set, we will also install the `gdb-gef` extension. More information can be found [here](https://github.com/hugsy/gef). GEF allows live previews of the instruction set, the registers, and the stack. This allows us to easily do a dynamic analysis of the binary.\n\nTo install GEF, use the following command:\n\n```nasm\n$ bash -c \"$(wget https://gef.blah.cat/sh -O -)\"\n```\n\n{% hint style=\"info\" %}\nOther plugins out there are equally effective. Notable plugins are [`pwndbg`](https://github.com/pwndbg/pwndbg) and [`peda`](https://github.com/longld/peda).\n\nThey all offer very similar feature sets. I personally like GEF the best, but feel free to use whichever one you like. Read [this](https://infosecwriteups.com/pwndbg-gef-peda-one-for-all-and-all-for-one-714d71bf36b8) article if you want to install more than one and build a local version manager.\n{% endhint %}\n\n## Usage\n\nWe run `gdb` on the binary that we want to analyze. The plugin will automatically run when we run the binary.\n\n```nasm\ngdb \u003cbinary\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheavycircle%2Fhowto-gdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheavycircle%2Fhowto-gdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheavycircle%2Fhowto-gdb/lists"}