cymbol ¤
Add, load, show, edit, or delete symbols for custom structures.
For the generation of the symbols g++/gcc is being used under the hood.
In case of remote debugging a binary which is not native to your architecture it is advised to configure the 'gcc-config-path' config parameter to your own cross-platform gnu gcc compiled toolchain for your target architecture.
You are advised to configure the 'cymbol-editor' config parameter to the path of your favorite text editor. Otherwise cymbol expands $EDITOR and $VISUAL environment variables to find the path to the default text editor.
Functions:
-
create_temp_header_file–Create a temporary header file with the given content.
-
unload_loaded_symbol– -
OnlyWhenStructFileExists– -
compile_with_flags– -
generate_debug_symbols– -
create_blank_elf– -
add_custom_structure– -
add_structure_from_header– -
edit_custom_structure– -
remove_custom_structure– -
load_custom_structure– -
show_custom_structure– -
cymbol–
Attributes:
-
P– -
T– -
gcc_compiler_path– -
cymbol_editor– -
loaded_symbols(dict[str, str]) – -
pwndbg_cachedir– -
parser– -
subparsers– -
add_parser– -
remove_parser– -
edit_parser– -
load_parser– -
show_parser– -
file_parser– -
show_all_parser–
gcc_compiler_path module-attribute ¤
gcc_compiler_path = add_param(
"gcc-compiler-path",
"",
"path to the gcc/g++ toolchain for generating imported symbols",
param_class=PARAM_OPTIONAL_FILENAME,
)
cymbol_editor module-attribute ¤
cymbol_editor = add_param(
"cymbol-editor",
"",
"path to the editor for editing custom structures",
param_class=PARAM_OPTIONAL_FILENAME,
)
parser module-attribute ¤
parser = ArgumentParser(
description="Manage custom C structures in pwndbg. Supports project-specific auto-loading from .gdbinit."
)
subparsers module-attribute ¤
remove_parser module-attribute ¤
file_parser module-attribute ¤
show_all_parser module-attribute ¤
create_temp_header_file ¤
Create a temporary header file with the given content.
OnlyWhenStructFileExists ¤
generate_debug_symbols ¤
generate_debug_symbols(
custom_structure_path: str,
pwndbg_debug_symbols_output_file: str | None = None,
) -> str | None
add_structure_from_header ¤
add_structure_from_header(
header_file: str, custom_structure_name: str = None, force: bool = False
) -> None