加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 解决来自csrss.exe的应用程序错误

发布时间:2020-12-15 09:09:36 所属栏目:大数据 来源:网络整理
导读:我是传统Delphi应用程序的维护者.在运行此程序的计算机上,有时会出现应用程序错误,标题引用此Delphi应用程序,并显示如下消息: The instruction at “…” referenced memory at “…”. The memory could not be “read”. Click on OK to terminate the pr
我是传统Delphi应用程序的维护者.在运行此程序的计算机上,有时会出现应用程序错误,标题引用此Delphi应用程序,并显示如下消息:

The instruction at “…” referenced memory at “…”. The memory could not be “read”.

Click on OK to terminate the program.

任务管理器说属于此消息框的进程是csrss.exe.找到此错误的根本原因的系统方法是什么?

问题是,这个Delphi程序相当复杂,并且错误消息相对较少出现,所以我不能简单地单步执行代码并找到导致错误的部分.此外,应用程序会自动运行,无需用户中断,因此我无法询问用户当消息出现时她做了什么.应用程序和系统日志不表示任何问题.当消息框存在时,应用程序不会停止工作.

我希望有人之前遇到过这样的错误信息,并且能够解决问题.提前谢谢你的帮助.

解决方法

csrss支持Windows控制台.我希望您的应用程序以控制台子系统为目标.

如果您无法在调试器下使应用程序失败,则需要为其添加一些诊断程序.我建议使用像madExcept或EurekaLog这样的工具来做到这一点.我个人使用madExcept并且不能足够推荐它.据我所知,EurekaLog也是一款优质产品.

将这些工具中的一个与您的应用程序集成,下次出现故障时,将生成详细的诊断报告.最重要的是,您将获得流程中每个线程的堆栈跟踪.错误线程的堆栈跟踪应该会引导您找到程序错误的根本原因.

我怀疑的是,如果故障发生在csrss中,那么在你的过程中包括诊断可能不会产生结果.您的应用程序已经出现故障,这可能导致csrss中的错误消息,这似乎是合理的.在这种情况下,应用程序中的诊断将有所帮助如果没有,那么您可能需要找到一种方法来在您的过程中发生故障.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读