-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