我想在 gdb 源代码中添加一个新命令,我可以使用 add_cmd 来完成。
在命令后端,我想读取一些变量的内容并以与我更相关的格式打印数据。
我可以使用以下代码获取变量地址:
struct symbol *sym;
sym = lookup_symbol ("my_variable_name", get_selected_block (&context_pc), VAR_DOMAIN, NULL);
printf_filtered ("Symbol %s is ", sym->ginfo.name);
printf_filtered (" at address 0x%x\n", SYMBOL_VALUE(sym));
这给了我变量的地址:
(gdb) my_command
Symbol my_variable_name is at address 0x8049684
但是,我找不到什么 API 会给我这个变量的内容。需要帮助。