您应该如何诊断错误 SEHException - 外部组件抛出异常

2024-04-21

每当用户报告错误时,例如

System.Runtime.InteropServices.SEHException- 外部组件引发的异常?

作为一名程序员,我可以做些什么来确定原因吗?

场景:一名用户(使用我公司编写的程序)报告了此错误。 这可能是也可能不是一次性错误。他们提到,上个月,电脑已经两次“停止工作”。我从经验中学到,不要太字面地理解这个描述,因为这通常意味着与计算机相关的某人没有按预期工作。他们无法向我提供更多详细信息,我也找不到任何记录的错误。因此,可能是也可能不是这个错误。

从堆栈跟踪来看,实际的错误是在构造一个不直接调用任何互操作代码的类时出现的,但可能由于该对象可能是数据绑定到 DevExpress 网格的列表的一部分而变得复杂。

该错误被未处理的异常例程“捕获”,该例程通常会关闭程序,但可以选择忽略并继续。如果他们选择忽略该错误,则程序会继续工作,但下次运行该例程时会再次出现错误。然而,关闭并重新启动我们的应用程序后,它没有再次发生。

所讨论的计算机似乎没有受到压力。它运行的是 Vista Business,有 2GB 内存,根据任务管理器的数据,我们的应用程序只使用了大约一半的内存,只有大约 200Mb。

还有另一条信息可能相关,也可能不相关。同一程序的另一部分使用第三方组件,该组件实际上是本机 dll 的 dotnet 包装器,并且该组件确实存在一个已知问题,您偶尔会遇到

尝试读取或写入受保护的内存。这通常表明其他内存已损坏

组件制造商表示,这个问题已在我们内部使用的最新版本组件中得到修复,但尚未提供给客户。

鉴于错误的后果很低(不会丢失任何工作,重新启动程序并返回到原来位置最多只需要一分钟),并且考虑到客户很快就会获得新版本(更新后的第三个版本) party 组件),我显然可以祈祷并希望错误不会再次发生。

但我还能做些什么吗?


是的。此错误是一个结构化异常,未映射到 .NET 错误。可能是您的 DataGrid 映射抛出了未捕获的本机异常。

您可以通过查看来判断发生了什么异常外部异常.错误代码 http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.externalexception.errorcode.aspx财产。我会检查您的堆栈跟踪,如果它与 DevExpress 网格相关,请向他们报告问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您应该如何诊断错误 SEHException - 外部组件抛出异常 的相关文章

随机推荐

  • 如何用Python为ElasticSearch创建只读客户端?

    我想从 ES 读取数据 但不想意外向其中写入数据 无索引操作 这只是一种安全措施 以便以后修改查询函数的其他人不允许插入数据 当你说你想要只读客户端时 客户端强调您系统中的同一集群可能有其他客户端 然后阻止整个索引为只读将会阻止所有客户端的
  • 在Linux上运行MFC程序

    我有一个相当大的基于 MFC 的程序 我的任务是让它在 Linux 上运行 我已经解释过 这需要将程序重新编写为带有 STL 的直接 C 更多工作 或者重新编写为 Qt C 更少工作 现在我被告知 我需要编写包装器以使每个 MFC 类在 L
  • 如何在 Jupyter 中启用 R 语法突出显示?

    我希望为 Jupyter 编写的 R 代码添加语法突出显示 准确地说 语法高亮超出了数字 文本等已有的语法高亮 我的设置 Packges 康达R 3 2 4 康达版本 4 0 6 Jupyter版本4 1 0 在带有 Chrome 的 Wi
  • 如何更改Exception对象的异常消息?

    所以我捕获了一个异常 Exception 类的实例 我想要做的是更改其异常消息 我可以得到这样的异常消息 e gt getMessage 但如何设置异常消息呢 这是行不通的 e gt setMessage hello 对于几乎所有的情况 您
  • SelectSingleNode 返回 null - 即使有命名空间

    我知道以前曾以类似的方式问过这个问题 但我似乎无法解决这个问题 我有一些 xml
  • 如何允许多个参数为空值

    我在 SSRS 报表生成器中的报表有多个参数 如果不需要选择 我希望所有参数都允许空白值 但是当我尝试运行报告时 第一个参数将允许空 空白值 并且它将提示我输入其余参数 有没有办法解决 Set Allow Blank Value and o
  • 如何遵守自制协议?

    我有一个带有委托属性的类 任何想成为代表的人都必须遵守协议 我这样定义一切 import
  • Android 调用另一个类的方法

    我知道这个问题重复了 但我在互联网上找不到答案 我想调用另一个类的方法 我有Class1和Class2 在第2类中我有这个方法 public void UpdateEmployee some code 我想从Class1调用上面的方法 感谢
  • 理解 scala 中参与者的线程性

    有人告诉我 Scala Actors 实际上从来不会同时执行两个操作 这表明 act 或 React 或 receive 方法本质上是同步的 我知道 act 方法中的长操作可能会导致阻塞问题 并且我假设对消息队列的访问必须以某种方式同步 但
  • Rails 路由中的“mount”指令是什么意思?

    我找不到关键字 mount 的含义轨道布线系统 http api rubyonrails org classes ActionDispatch Routing html 我已经设置了Mercury http jejacks0n github
  • 如何使用multiple属性在Android上上传多个文件?

    I got a
  • 在 python 上使用 TensorRT .engine 文件进行推理

    我使用 Nvidia 的迁移学习工具包 TLT 进行训练 然后使用 tlt converter 将 etlt 模型转换为 engine 文件 我想使用这个 engine 文件在 python 中进行推理 但由于我使用 TLT 进行训练 因此
  • 合并冲突后暂存区中有哪些文件?

    我运行时与 file1 txt 发生冲突git merge b2当前分支是master ls files somcdt file1 txt然后显示 M 100644 4111d50ada6cc03ec6079f226c23efa3142c9
  • 是否可以在 LLVM IR 代码中指定十六进制数?

    例如 error floating point constant invalid for type 3 and i8 0x80 2 从扫描的红外参考手册 http llvm org docs LangRef html simple cons
  • 从 Java 方法返回多个值:为什么没有 n 元组对象?

    为什么没有一个 标准的 Java 认证的 解决方案作为 Java 语言本身的一部分 从 Java 方法返回多个值 而不是开发人员必须使用自己的方法 例如映射 列表 对等 为什么Java不支持n元组对象 特别是考虑可能一起 串联 修改两个对象
  • 防止PHP脚本被淹没

    我想防止我的脚本被淹没 如果用户按 F5 它每次都会执行脚本 我想防止这种情况并允许每 2 秒执行一个脚本 有什么解决方案吗 您可以使用内存缓存来执行此操作 简单的演示脚本 memcache new Memcache memcache gt
  • Typescript 中的 new() 是什么?

    我遇到了new 在官方文件中here https www typescriptlang org docs handbook generics html关于泛型 这是代码上下文 function create
  • javascript - 从输入类型=文件获取文件名和扩展名

    我有一个文件上传输入 当我单击浏览按钮并选择文件时 我希望文件名和扩展名显示在两个输入文本框中 请参阅代码示例 它与扩展名一起正常工作 但文件名还显示了给我 fakepath 警告的路径 我明白为什么 但是有什么好方法可以做到这一点并将文件
  • 在 thymeleaf spring boot 中,动态轮播滑块不起作用

    In my spring boot thymeleaf this following code is slider does not work well Show the result in image What wrong with in
  • 您应该如何诊断错误 SEHException - 外部组件抛出异常

    每当用户报告错误时 例如 System Runtime InteropServices SEHException 外部组件引发的异常 作为一名程序员 我可以做些什么来确定原因吗 场景 一名用户 使用我公司编写的程序 报告了此错误 这可能是也