-5
我猜它領先無處,NULL指針什麼的,但是我檢查只是事先C++墜毀在得到指針
這兩個片段崩潰:
//Snippet 1
DWORD *address = (DWORD*)(base + 0x54);
if (address)
address = (DWORD*)(*address + 0xC);
if (address)
address = (DWORD*)(*address + 0x8); //crashes here
//Snippet 2
DWORD address = *(DWORD*)(base + 0x54);
if (address)
address = *(DWORD*)(address + 0xC);
if (address)
address = *(DWORD*)(address + 0x8); //crashes here
我做有問題? 在此先感謝
這是不可能告訴。你寫的所有內容都可能是未定義的行爲。如果不知道「base」的初始值是什麼,就不知道。 –
我在很多年前制定了一條經驗法則:如果我有指向指針的指針,現在是時候重新思考我在做什麼。這段代碼還有另外一層,所以它更加難以理解。 –
我遍歷一系列的地址,每調用一次這個方法,base就是當前的地址。多級指針有什麼問題? – user2361925