算术运算导致溢出错误
Arithmetic operation resulted in an overflow Error
IntPtr(MemInfo.BaseAddress)
End While
End Sub
错误是由这一行的+ mem1.RegionSize
部分引起的:
这是我在 VB.net 中的内存扫描器的一部分
我已经阅读了有关将 ToInt32
更改为 ToInt64
的内容,但仍然没有解决该问题。
这不是向 IntPtr
添加偏移量的正确方法。它提供了 Add
方法来做到这一点。我假设您已经将 MEMORY_BASIC_INFORMATION
结构的 BaseAddress
字段编组为 IntPtr
.
所以您应该将代码更改为
Addy = IntPtr.Add(MemInfo.BaseAddress, MemInfo.RegionSize);
IntPtr(MemInfo.BaseAddress)
End While
End Sub
错误是由这一行的+ mem1.RegionSize
部分引起的:
这是我在 VB.net 中的内存扫描器的一部分
我已经阅读了有关将 ToInt32
更改为 ToInt64
的内容,但仍然没有解决该问题。
这不是向 IntPtr
添加偏移量的正确方法。它提供了 Add
方法来做到这一点。我假设您已经将 MEMORY_BASIC_INFORMATION
结构的 BaseAddress
字段编组为 IntPtr
.
所以您应该将代码更改为
Addy = IntPtr.Add(MemInfo.BaseAddress, MemInfo.RegionSize);