gpt4 book ai didi

windows - 在 Visual Studio 的内存地址观察一个类对象

转载 作者:可可西里 更新时间:2023-11-01 13:23:26 26 4
gpt4 key购买 nike

我正在调试用户转储文件,并且在堆栈跟踪的顶部有此类成员函数

  • 堆栈跟踪是这样的 -

msvcr80.dll!__invalid_parameter_noinfo() + 0xc 字节 - 第一帧msvcr80.dll!__invalid_parameter_noinfo() + 0xc 字节 - 第二帧
myDLL!myClass::myClassMemFunc(int val = 90) - 第三帧

现在,当我跳转到第 3 帧时——“this”指针值无效(“this”值是从 ECX 寄存器中检索的——但是 ECX 寄存器值在上面堆栈的前两个函数中发生了变化痕迹 - ) -所以我看不到我的类对象的实际成员变量 -

但是我知道我的类对象的地址 - 这是0x0012ECE0

当我试图用 - 观察那个内存地址时(我的类(class)*)(0x0012ECE0)

我得到一个CXX0019:错误:类型转换错误

甚至 (myClass)(0x0012ECE0) 也会产生相同的错误。

我是不是做错了什么? - 检索类对象值的正确方法是什么?

最佳答案

只是盲目猜测:试试 (myDLL!myClass*)(0x0012ECE0)

另外一个问题,你怎么确定是你对象的地址呢?

作为旁注,尝试 windbg - 在内存/堆栈周围查找对象要简单得多。

关于windows - 在 Visual Studio 的内存地址观察一个类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/876803/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com