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 exapnds $EDITOR and $VISUAL environment variables to find the path to the default text editor.
Functions:
-
unload_loaded_symbol
– -
OnlyWhenStructFileExists
– -
generate_debug_symbols
– -
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
–
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="Add, show, load, edit, or delete custom structures in plain C."
)
OnlyWhenStructFileExists ¤
generate_debug_symbols ¤
generate_debug_symbols(
custom_structure_path: str,
pwndbg_debug_symbols_output_file: str | None = None,
) -> str | None