From d2efb84d6a950446fbd9c89eb14b0f331ba49828 Mon Sep 17 00:00:00 2001 From: Disconnect3d Date: Thu, 17 Apr 2025 17:18:12 +0200 Subject: [PATCH] Add aliases for commands with '_' to inform about the change to '-' (#2891) * Add deprecation warning for commands with "_" instead of "-" * Set aliases more nicely --- pwndbg/dbg/gdb/__init__.py | 40 +++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/pwndbg/dbg/gdb/__init__.py b/pwndbg/dbg/gdb/__init__.py index dae29d972..a55447dae 100644 --- a/pwndbg/dbg/gdb/__init__.py +++ b/pwndbg/dbg/gdb/__init__.py @@ -1329,11 +1329,49 @@ class GDB(pwndbg.dbg_mod.Debugger): handle SIGBUS stop print nopass handle SIGPIPE nostop print nopass handle SIGSEGV stop print nopass - """.strip() + """ for line in pre_commands.strip().splitlines(): gdb.execute(line) + # See https://github.com/pwndbg/pwndbg/issues/2890#issuecomment-2813047212 + # Note: Remove this in a late 2025 or 2026 release? + for deprecated_cmd in ( + "dev_dump_instruction", + "vmmap_add", + "vmmap_clear", + "vmmap_load", + "vmmap_explore", + "vis_heap_chunks", + "heap_config", + "stack_explore", + "auxv_explore", + "log_level", + "find_fake_fast", + "malloc_chunk", + "top_chunk", + "try_free", + "save_ida", + "knft_dump", + "knft_list_chains", + "knft_list_exprs", + "knft_list_flowtables", + "knft_list_objects", + "knft_list_rules", + "knft_list_sets", + "knft_list_tables", + "patch_list", + "patch_revert", + "jemalloc_extent_info", + "jemalloc_find_extent", + "jemalloc_heap", + "reinit_pwndbg", + ): + fixed_cmd = deprecated_cmd.replace("_", "-") + gdb.execute( + f"alias {deprecated_cmd} = echo Use `{fixed_cmd}` instead (Pwndbg changed `_` to `-` in command names)\\n" + ) + # This may throw an exception, see pwndbg/pwndbg#27 try: gdb.execute("set disassembly-flavor intel")