我的文件a.c
和b.c
有不同类型且名称相同:
struct map {
int a;
}map_t;
//map_t * is use in file
struct map {
int a;
int b;
}map_t;
//map_t * is use in file
我需要什么? 在这里,我知道我想要在a.c或b.c文件中对特定map_t进行类型转换的堆地址。然后想要看到值a或a,b(取决于类型转换)。
e.g。
Address = 0x1000
我希望在a.c文件中以map_t定义的typedef格式看到此地址。
我在GDB中尝试了以下行,但无法找到符号a.c::map_t
。
(GDB) p *(('a.c::map_t'*)0x1000)
No symbol "a.c::map_t" in current context.
如何通过a.c文件中的map_t提示来对地址进行类型转换? 我也想知道如何在GDB中用Python做同样的事情。
注意:我知道哪种类型的内存地址(我的意思是来自a.c或b.c的map_t)。通过原始内存,我可以工作,但希望以适当的GDB格式查看。