lez*_*lon 19 c++ debugging visual-studio-2010
我有一个程序在调试中提示我VS2010中的错误:
Error: Stack around the variable 'x' was corrupted
Run Code Online (Sandbox Code Playgroud)
这给了我可能发生堆栈溢出的功能,但我无法直观地看到问题所在.
有没有通用的方法来调试VS2010的这个错误?是否可以识别哪个写操作正在覆盖错误的堆栈内存?谢谢
Dav*_*men 13
有没有通用的方法来调试VS2010的这个错误?
不,没有.你所做的是以某种方式调用未定义的行为.这些行为未定义的原因是一般情况很难检测/诊断.有时这样做是不可能的.
但是,通常会导致您出现问题的事情数量有限:
free对于分配的内容new等),这可能是由几个问题引起的,这些问题通常很难看出:
delete分配的变量new[]或delete[]分配的变量newdelete 分配的东西 mallocdelete 自动存储变量如果没有立即清楚,我会得到一个内存调试器(我可以想到Rational Purify for windows).