关闭时访问崩溃
Posted
技术标签:
【中文标题】关闭时访问崩溃【英文标题】:Access crashes at shutdown 【发布时间】:2018-11-26 15:59:57 【问题描述】:我们维护了大约 130 个在 Access 中运行的 VBA 应用程序。但是其中一个在 Access 关闭时会崩溃。
但前提是打开 VBE(Access 中内置的 VBA 开发环境)或通过自动化直接访问 VBA 代码(例如:Extract VBA-Code from Access via C#)
任何想法可能是问题所在或任何提示如何找到崩溃的原因?
【问题讨论】:
如果你不知道它为什么会崩溃,我猜这是因为代码是在 Open 事件上运行的。在这种情况下,1) 在您的办公室关闭宏。 2)打开项目崩溃的VBA代码,放置一些策略性断点 3)重新启用宏 4)进入崩溃点有更多的提示。 How to diagnose MS access crashes的可能重复 您是否正在运行任何 VBE 插件? Rubberduck v2.3.0 之前的版本(昨天发布 - 后来的 2.2 预发布版也很干净)已知会在退出时崩溃 Access。 @Matteo NNZ:好的,我会试试你的建议 如果您正在运行类似于linked code 的东西,您也可能在复制我们在 Rubberduck 中关闭的问题。 Access 对于通过 Interop 从托管代码中读取其文档模块有点棘手。我很确定我们在this issue 上记录了它。 【参考方案1】:Rubberduck 的早期版本(v2.2 之前)已知存在导致主机应用程序因访问冲突而崩溃的拆卸问题。
查看是否卸载 Rubberduck 将 Rubberduck 更新到 latest version(我们昨天发布了 v2.3),修复它。
出于某种原因 - Rubberduck 作为托管 (.NET) 库在进程内运行,不断与 VBE 的非托管/COM 对象进行互操作;在 v2.2 之前,我们遇到了 .NET 中的 COM 互操作问题。这些问题现已解决。
【讨论】:
好的,它似乎奏效了。当我只是通过 interopt 使用自动化时,我不知道橡胶鸭已经加载...以上是关于关闭时访问崩溃的主要内容,如果未能解决你的问题,请参考以下文章
在没有 Root 访问权限的情况下,Linux 可以在 CPL3(用户模式)下崩溃或挂起的情况? [关闭]