找出内存地址指向的值

时间:2014-10-17 00:30:41

标签: c++ c gdb

我是C / C ++开发的新手。无论如何,我使用Eclipse CDT来调试v8代码并看到一些具有以下值的变量: -

enter image description here

a)expr-> target_的值为0x95b2538

expr-> target_展开视图

enter image description here

b)expr-> value_的值为0x95b2580

我认为两者都是内存地址:0x95b2538 / 0x95b2580。

我的问题是:

  1. 我如何计算出内存地址(expr-> target_)0x95b2538指向的值是什么?

  2. 我可以使用Expression窗口显示此值吗?

  3. 谢谢

2 个答案:

答案 0 :(得分:0)

要查看指针变量指向的值,请使用*

假设pointer指向int

printf("address in pointer: %p\n", (void*)pointer);
printf("value at the place `pointer` points to: %d\n", *pointer);
//                                              %d for int

如果pointer指向另一个指针

printf("address in pointer: %p\n", (void*)pointer);
printf("value at the place `pointer` points to: %p\n", (void*)*pointer);
//                                              %p for pointer

要记住的是,printf()转换字符串中的转换规范必须与参数中的值类型匹配。

答案 1 :(得分:0)

正如Anton Savin所建议的

按下左边的那些小三角形--Anton Savin

我一直在扩展和扩展树/三角形,我得到了我想要的东西。