算术运算导致溢出错误

时间:2015-05-03 16:51:57

标签: vb.net memory byte integer-overflow

Future

错误是由此行中的 IntPtr(MemInfo.BaseAddress) End While End Sub 部分引起的:

这是我在VB.net中的内存扫描程序的一部分 我已经阅读了有关将+ mem1.RegionSize更改为ToInt32的内容,但仍未解决此问题。

1 个答案:

答案 0 :(得分:0)

这不是向IntPtr添加偏移量的正确方法。它提供了Add方法。我假设您已经将BaseAddress结构的MEMORY_BASIC_INFORMATION字段编组为IntPtr

因此,您应该将代码更改为

Addy = IntPtr.Add(MemInfo.BaseAddress, MemInfo.RegionSize);