Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在gdb中,如何将指针类型转换为filespecif typedef_C++_C_Gdb - Fatal编程技术网

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中尝试了以下行,但它找不到symbol
a.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.