谢谢acptvc,你的解释我基本明白了下面你能否再回答一个不是"问题"的问题呢! 我前几天碰到一个这样一段程序: void Function_A() { class A aA[5],aB[7]; class B aC[8],....;//这样连续几行变量声明 。 有一个程序段不小心给aB[7]赋了值 //在一个循环中错误 当程序退出时显示调试堆栈错误} 以上程序用了很常一段时间才查出来,原来是class A 的析构函数不能正常调用 引起的---调试中不显示任何错误,因为报错点在函数尾,只有用单步调试运行到错 误赋值处,才发现这个地方堆栈错误 我想问的是像这样的错误发生写代码要存在很大问题的,但是查此错误有没有更 简单的方法呢,因在一个循环单步调试中调试是很麻烦的,而且程序报错点也不好 ---当然我也只知到编译器到程序尾才会发现,但有没有相关的方式呢? 或者这在以后的vc版本中有这方面的支持呢? 谢谢!!!
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
我前几天碰到一个这样一段程序:
void Function_A()
{
class A aA[5],aB[7];
class B aC[8],....;//这样连续几行变量声明
。
有一个程序段不小心给aB[7]赋了值 //在一个循环中错误
当程序退出时显示调试堆栈错误}
以上程序用了很常一段时间才查出来,原来是class A 的析构函数不能正常调用
引起的---调试中不显示任何错误,因为报错点在函数尾,只有用单步调试运行到错
误赋值处,才发现这个地方堆栈错误
我想问的是像这样的错误发生写代码要存在很大问题的,但是查此错误有没有更
简单的方法呢,因在一个循环单步调试中调试是很麻烦的,而且程序报错点也不好
---当然我也只知到编译器到程序尾才会发现,但有没有相关的方式呢?
或者这在以后的vc版本中有这方面的支持呢?
谢谢!!!