2 jgfjgfjtxgeqrysgd jgfjgfjtxgeqrysgd 于 2015.07.17 21:47 提问

C++遇到 没有权限访问内存的错误的时候怎么找出来?
c++

程序跑着不定时会弹出说 遇到问题需要退出 DMP里看着都是一些没有内存访问权限的问题

5个回答

oyljerry
oyljerry   Ds   Rxr 2015.07.17 22:32
已采纳

既然有dmp就结合pdb文件,windbg来分析异常时栈空间,线程信息等。然后才好定位问题。
查看callstack找你的代码引起问题的函数分析。

caozhy
caozhy   Ds   Rxr 2015.07.17 23:01

以调试的方式运行程序,程序会触发一些断言,或者丢出错误,然后再单步调试。或者用ollydbg一类的工具分析。

zuishikonghuan
zuishikonghuan   2015.07.17 21:53

一般是你代码的问题
如果你非要改一些系统不让你改的东西,Windows上可以用VirtualProtectEx修改虚拟内存访问规则,就不会违规访问而崩溃了
当然,如果没有这方面的要求还是检查一些代码吧,比如越界了。。

91program
91program   Ds   Rxr 2015.07.17 23:01

重点查一查指针越界吧

Evankaka
Evankaka   Ds   Rxr 2015.07.17 23:03

打断点,然后单步调试,一步一步的运行程序。找到出错的地方

Csdn user default icon
上传中...
上传图片
插入图片