我正在使用DWARF和ELF信息的程序中工作。我使用称为Pin的工具连接到另一个程序。我从“Y”程序中声明的全局变量中获取地址,并将其挂接到我将调用“X”的Pin模块中。取消引用C/C++中的字符指针?
我得到了这些全局变量的一堆地址。不幸的是,当我尝试解除引用时,我遇到了麻烦。例如(现在我手工做的事情,看看它是做什么应该做的):
char * limit, * address1;
for(address1 = (char *) 0x804A040, limit = address1 + bytesize; address1 < limit; address1++)
cout << *(address1) << "\n";
我应该得到存储在该地址的变量,它是一个char *
一个字。在这种情况下,我必须解除引用两个指针吗?地址,然后char *
存储在该地址?
时,我想提领的int
变量这工作完全正常,但每当我试图取消引用字符指针或可变我得到non-ASCII
值...
您的'for'语句只有两个以分号分隔的参数,但需要三个才能生效。 – mrb
您是否期望打印字符串或字符串本身的地址? –
您是否正在尝试从*当前进程*或一个单独进程*读取数据? –