【发布时间】:2013-06-05 09:35:51
【问题描述】:
主要结构是
struct my_struct
{
int x;
void* md_template;
void* md_capture_buff;
....
};
当我在做的时候
(gdb) p ((struct my_struct *)dev_base->next->priv)
输出是这样的
$1 = {
x= 15 '\017'
md_template = ,
md_capture_buff =
}
当我用 p/x 做的时候:
(gdb) p/x ((struct my_struct *)dev_base->next->priv)
输出是这样的
$1 = {
x= 0xf;
md_template =0x410027001a50 ,
md_capture_buff = 0x41002c0c5490
}
在 gdb-python 中:
python val = gdb.parse_and_eval('((struct my_struct *)dev_base->next->priv)')
python print val
输出是:
$1 = {
x= 15 '\017'
md_template = ,
md_capture_buff =
}
那么如何在 gdb-python 中写等价于 p/x 呢?或者如何在python脚本中获取'md_capture_buff'的地址,因为python val = gdb.parse_and_eval('((struct my_struct *)dev_base->next->priv)').address没有打印地址?
【问题讨论】:
标签: python gdb gdb-python