C++ 在gdb中,如何将指针类型转换为filespecif typedef
我有文件C++ 在gdb中,如何将指针类型转换为filespecif typedef,c++,c,gdb,C++,C,Gdb,我有文件a.c和b.c,它们具有相同名称的不同类型: a、 c b、 c 我需要什么? 在这里,我知道我想在a.c或b.c文件中键入特定映射的堆地址。然后希望看到值a或a、b(取决于类型转换) e、 g 我想在a.c文件中以map\u t define的typedef格式查看此地址。 我在GDB中尝试了以下行,但它找不到symbola.c::map\u t (GDB) p *(('a.c::map_t'*)0x1000) No symbol "a.c::map_t" in current con
a.c
和b.c
,它们具有相同名称的不同类型:
a、 c
b、 c
我需要什么?
在这里,我知道我想在a.c或b.c文件中键入特定映射的堆地址。然后希望看到值a或a、b(取决于类型转换)
e、 g
我想在a.c文件中以map\u t define的typedef格式查看此地址。
我在GDB中尝试了以下行,但它找不到symbola.c::map\u t
(GDB) p *(('a.c::map_t'*)0x1000)
No symbol "a.c::map_t" in current context.
如何在a.c文件中按地图输入地址?
我还想知道如何在GDB中用Python实现同样的功能
注意:我知道哪种类型的内存地址(我指的是来自a.c或b.c的映射)。根据原始内存,我可以工作,但希望看到正确的GDB格式。欢迎使用Stackoverflow。你是在问C还是C++?请务必仔细阅读并仔细思考我认为这是不可能的,因为您不能有两种类型的相同名称,根据定义,这两种类型都可以在同一时间全局访问。如果位于
a.c
中定义的函数内,则在转换到map\t
时,您将获得a.c
中定义的map\t
,如果在b.c
中,您将获得另一个。我同意,但在gdb中,如何使用typecast查看堆分配的内存。相关:欢迎使用Stackoverflow。你是在问C还是C++?请务必仔细阅读并仔细思考我认为这是不可能的,因为您不能有两种类型的相同名称,根据定义,这两种类型都可以在同一时间全局访问。如果位于a.c
中定义的函数内,则在转换到map\t
时,您将获得a.c
中定义的map\t
,如果在b.c
中,您将获得另一个。我同意,但在gdb中,如何使用typecast查看堆分配的内存。相关:
struct map {
int a;
int b;
}map_t;
//map_t * is use in file
Address = 0x1000
(GDB) p *(('a.c::map_t'*)0x1000)
No symbol "a.c::map_t" in current context.