我正在使用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
您是否期望打印字符串或字符串本身的地址? –
您是否正在嘗試從*當前進程*或一個單獨進程*讀取數據? –