我正在尝试编写一个变量监视类,它允许我向它传递一个指针(理想情况下为 void*),以寻址通常完全超出范围或类无法访问的内存位置。然后该类将定期在屏幕上以文本形式显示该内存位置的内容 - 以用户定义的方式解释(例如 (int*) )。我只会使用这个指针从内存中读取,它会作为一种肮脏的黑客手段,在开发过程中为我暂时感兴趣的在运行时监控的变量启用一种监视窗口——而无需引入大量代码来带来这些变量在范围内/类可访问。
我正在使用 VC++ 2010,它似乎完全拒绝让我什至将超出范围的内存位置地址写入指针。
我猜想在 Windows 的引擎盖下发生了很多事情,因此随着内存位置的变化,这种方法的适用性可能非常有限,但我使用的是本机 C++,所以希望我的地址足够持久以便有用。此外,我可以看到它不希望我访问我的程序出于安全原因实际上没有使用的内存位置......
任何想法我怎么能做到这一点?(我意识到使用这样的指针会导致未定义的行为,因此只会从它们中读取并显示值)。
谢谢。