如何调试访问冲突?
问题描述
我的程序产生了访问冲突。 如何调试它?
解决方案
使用**“调用堆栈”**窗口反向沿调用堆栈进行调试,查找作为参数传递给函数的已损坏数据。 如果该操作失败,请尝试在访问冲突发生位置之前的一点上设置断点。 检查该点数据是否正确。 如果正确,尝试向访问冲突发生位置的方向单步执行程序。 如果能够确定单个操作(如导致访问冲突的菜单命令),则可以尝试另一项技术:在该操作(本示例中为菜单命令)和访问冲突之间设置断点。 然后可以查看发生访问冲突前的程序状态。
可以组合使用这些技术向前和向后操作,直到分离出发生访问冲突的位置。 有关更多信息,请参见使用“调用堆栈”窗口。