{"id":16842609,"url":"https://github.com/rofl0r/gdbpimp","last_synced_at":"2026-05-20T06:05:36.944Z","repository":{"id":138311296,"uuid":"155260685","full_name":"rofl0r/gdbpimp","owner":"rofl0r","description":"yet another gdb gui","archived":false,"fork":false,"pushed_at":"2021-03-14T17:47:36.000Z","size":37,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-24T12:25:52.701Z","etag":null,"topics":["256-color","console","debugger","gdb","gui","prompt-toolkit","python","terminal","tui"],"latest_commit_sha":null,"homepage":"","language":"Python","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/rofl0r.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":"2018-10-29T18:24:56.000Z","updated_at":"2021-03-14T17:47:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"c70f374e-619e-4cad-b259-7fda6ad89bf4","html_url":"https://github.com/rofl0r/gdbpimp","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/rofl0r%2Fgdbpimp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fgdbpimp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fgdbpimp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rofl0r%2Fgdbpimp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rofl0r","download_url":"https://codeload.github.com/rofl0r/gdbpimp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244166637,"owners_count":20409177,"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":["256-color","console","debugger","gdb","gui","prompt-toolkit","python","terminal","tui"],"created_at":"2024-10-13T12:47:12.554Z","updated_at":"2026-05-20T06:05:36.899Z","avatar_url":"https://github.com/rofl0r.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"gdbpimp - a console gui for gdb\n===============================\n\n![screenshot](https://user-images.githubusercontent.com/341425/111042524-ae757b00-8435-11eb-9dcf-c09fea159ed1.png)\n\nunlike the other gdb guis, like gdbgui, pwndbg, peda, etc this\none works with a plain gdb binary, regardless of whether\nbuilt with or without shared libs and python scripting support.\nand regardless of version. the ones mentioned here tend to only\nwork properly with the latest and greatest gdb, while this here\nwas tested with gdb 7.6 and should work with older and newer\nversions as well, because it works on stdin/stdout of gdb.\n\nadditionally it doesn't have a shitload of library dependencies.\nyou only need `prompt-toolkit` and `pygments`.\n\nyou also dont need to install a .gdbinit file which overrides\nnormal functioning of gdb.\n\nwhereas pwndbg, peda, gef and gdb-dashboard focus on assembly\nlevel debugging, this one is focused on source-level C debugging.\n\nusage:\n------\n\n    python2 gdb.py /bin/program arg1 arg2\n\nkeyboard shortcuts:\n-------------------\n\n- F7     - step into (s)\n- F8     - step over (n)\n- CTRL-B - set breakpoint at current line in codeview\n- TAB    - circle focus\n\n- CTRL-Q - quit\n- F1     - switch input applet mode to python or gdb repl\n- F2     - toggle mouse support on or off.\n\nthese last ones are likely to change in future versions.\n\nother functionality\n-------------------\n\n*gdb prompt:*\nyou can enter arbitrary gdb command in the gdb prompt in the bottom line.\n\n*python prompt:*\nyou can toggle the gdb prompt to a python repl prompt with `F1`. This allows\nto execute code in the context of gdbpimp, can be useful for debugging.\n\n*expression sidebar:*\nyou can add expressions to the `expr` sidebar, e.g. the value of a struct\nmember, some memory region etc.\nto add an expression, write `:expr add name expression` in the gdb prompt.\nexpression can be any expression understood by gdb that returns a string,\nfor instance `p/x mystruct.member`.\nThe expression will be evaluated on every step in the program and the actual\ncontents displayed.\nan expression can be removed via `:expr del name`.\nexpressions are saved to a file if not removed and loaded next time you\ndebug the same binary.\n\nDependencies\n------------\n\nThis app was written for and with python2. I don't plan on porting it\nto python 3. I will however accept a PR that can make it work on both\npy2 and py3, if it's reasonably clean.\n\nrequired python libs are `prompt-toolkit` 2.x; it was developed with 2.0.6\nbut should work with 2.0.10 (last py2 compatible release) too.\nprompt-toolkit itself depends on `pygments` and `wcwidth` packages, tested are\nversion 2.2.0 and 0.1.7, respectively.\n\nTODO\n----\n- source file selection dialog\n- dialog showing backtrace with possibility to select a frame\n- keyboard shortcuts for: runtocursor, stepout\n  ( see https://www.shortcuts-keyboard.com/visual-basic-6-0-default-shortcut-keys/ )\n  stepout functionality might require an additional dependency on `pycparser`.\n- nicer way to highlight the actual line in the codeview\n  (optimally red bar over the entire line)\n- ability to customize size of controls\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofl0r%2Fgdbpimp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frofl0r%2Fgdbpimp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frofl0r%2Fgdbpimp/lists"}