如何在gdb中反汇编数据类型和宏?

如何在gdb中反汇编数据类型和宏?,gdb,Gdb,我要反汇编项: 341 item *item_get(const char *key, const size_t nkey) { 342 item *it; ... 如何正确地执行它?我通常发现,如果GDB能够正确地找到标题,那么打印变量最终会得到一个不错的描述。尝试: (gdb) info item Undefined info command: "item". Try "help info". (gdb) disas item Attempt to use a type name

我要反汇编

341 item *item_get(const char *key, const size_t nkey) {
342     item *it;
...

如何正确地执行它?

我通常发现,如果GDB能够正确地找到标题,那么打印变量最终会得到一个不错的描述。尝试:

(gdb) info item
Undefined info command: "item".  Try "help info".
(gdb) disas item
Attempt to use a type name as an expression

关于您的术语:“反汇编”是指以二进制形式(例如
0x58
)获取机器指令,并将其转换为我们能够理解的内容(例如
pop%eax
)。因此,您应该只对函数进行反汇编。在您的示例中,
item
是一种数据类型,
it
是指向
item
类型的对象的本地定义指针。
gdb> p *it