+ -
当前位置:首页 → 问答吧 → 请问:应用程序发生异常,如何确定是哪一句?

请问:应用程序发生异常,如何确定是哪一句?

时间:2011-12-07

来源:互联网

我用的是VC6,在运行时发现错误:应用程序发生异常unknown software execption(XXX),位置为XXX,
请问如何确定源代码的哪一句出错了?

作者: leetow2003   发布时间: 2011-12-07

F5启动,
运行直到出现异常,
点弹出对话框的“重试”
打开VC6堆栈查看器
双击查看器中最上端的一行就是出错的了

作者: hpf976149   发布时间: 2011-12-07

该回复于2011-12-07 13:31:35被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
#3楼 得分:0回复于:2011-12-07 13:23:24
这个问题不好定位,F5执行的话,有可能执行到错误的地方去

作者: lumingming   发布时间: 2011-12-07

dubug

作者: jiuzhoulh   发布时间: 2011-12-07

引用 1 楼 hpf976149 的回复:
F5启动,
运行直到出现异常,
点弹出对话框的“重试”
打开VC6堆栈查看器
双击查看器中最上端的一行就是出错的了

我看了Call Stack最上端的一行,是$$$00001() line 79
可是这行确对不是错误的,因为它是VC6自动生成的,不是我写的;
而看旁边的汇编是这样的:
test dword ptr [ecx],eax
不知道是哪一句代码?

作者: lovexjyong   发布时间: 2011-12-07

decfg

作者: leetow2003   发布时间: 2011-12-07

debug版调试出错吗?

作者: a7566   发布时间: 2011-12-07

引用 5 楼 leetow2003 的回复:
引用 1 楼 hpf976149 的回复:
F5启动,
运行直到出现异常,
点弹出对话框的“重试”
打开VC6堆栈查看器
双击查看器中最上端的一行就是出错的了

我看了Call Stack最上端的一行,是$$$00001() line 79
可是这行确对不是错误的,因为它是VC6自动生成的,不是我写的;
而看旁边的汇编是这样的:
test dword ptr [ecx],eax……


那就依次往下找,直到找到有一行是你写的为止

作者: jennyvenus   发布时间: 2011-12-08

Debug 看堆栈,找到你自己的函数--双击定位

作者: mayudong1   发布时间: 2011-12-08

不是堆栈的第一行,是堆栈自己代码的第一行,比如你的程序 MFC.exe ,找到开头带MFC.exe的这一行。

作者: lgstudyvc   发布时间: 2011-12-08