cymbol
(only in GDB)
usage: cymbol [-h] {add,remove,edit,load,show,file,show-all} ...
Add custom C structures to the debugger.
Unless you specify gcc-compiler-path, zig is used under to hood to compile the C files to whichever target architecture you are currently debugging.
Positional arguments
| Positional Argument | Help |
| subcommand | Available subcommands |
Optional arguments
| Short | Long | Help |
| -h | --help | show this help message and exit |
cymbol add
usage: cymbol add [-h] [--force] name
Add a custom structure and load it into the debugger.
Positional arguments
| Positional Argument | Help |
| name | Name of custom structure |
Optional arguments
| Short | Long | Help |
| -h | --help | show this help message and exit |
| --force | Overwrite if structure already exists |
cymbol remove
usage: cymbol remove [-h] name
Remove a custom structure and unload it from the debugger.
Positional arguments
| Positional Argument | Help |
| name | Name of custom structure |
Optional arguments
| Short | Long | Help |
| -h | --help | show this help message and exit |
cymbol edit
usage: cymbol edit [-h] name
Edit a custom structure and reload it.
Positional arguments
| Positional Argument | Help |
| name | Name of custom structure |
Optional arguments
| Short | Long | Help |
| -h | --help | show this help message and exit |
cymbol load
usage: cymbol load [-h] name
Load a previously added custom structure into the debugger.
Positional arguments
| Positional Argument | Help |
| name | Name of custom structure |
Optional arguments
| Short | Long | Help |
| -h | --help | show this help message and exit |
cymbol show
usage: cymbol show [-h] name
Show a structure's definition.
Positional arguments
| Positional Argument | Help |
| name | Name of custom structure |
Optional arguments
| Short | Long | Help |
| -h | --help | show this help message and exit |
cymbol file
usage: cymbol file [-h] [--name NAME] [--force] [--quiet] path
Add and load a structure from a header file.
Positional arguments
| Positional Argument | Help |
| path | Path to header file |
Optional arguments
| Short | Long | Help |
| -h | --help | show this help message and exit |
| --name | Optional structure name |
| --force | Overwrite if exists |
| --quiet | Do not output any message on success |
cymbol show-all
usage: cymbol show-all [-h]
Show the names of all stored (i.e. previusly added) structures.
Optional arguments
| Short | Long | Help |
| -h | --help | show this help message and exit |
Examples
> cymbol file --force --quiet ./structs.h
Having something like this in your folder-local `.gdbinit` can be handy.
Notes
If a loaded structure defines a type that already exists, the debugger may prefer the original type or behave unexpectedly. It’s recommended to use unique struct names to avoid type conflicts.
Added structures are saved in /home/user/.cache/pwndbg/custom-structures/.