【问题标题】:SQLite.Interop.dll crashes without explanationSQLite.Interop.dll 在没有解释的情况下崩溃
【发布时间】:2015-12-08 23:50:42
【问题描述】:

我有一个分布在多台计算机上的 .net winforms 应用程序,它使用本地 sqlite 数据库。

当我启动这个应用程序时,它似乎运行良好,并且与 sqlite 数据库通信良好。

不幸的是,应用程序在一段时间后崩溃并且在事件日志中只显示以下内容:

  • 系统

  • 提供者

    [名称]应用程序错误

  • 事件 ID 1000

    [限定符] 0

    2级

    任务 100

    关键字 0x80000000000000

  • 创建时间

    [系统时间] 2015-09-12T05:04:50.000000000Z

    事件记录 ID 11046

    渠道申请

    计算机计算机名

    安全

    • 事件数据

    APP.exe 1.4.0.0 55f3427b SQLite.Interop.dll 1.0.89.0 526c2665 c00000fd 0003ad7c e3c 01d0ecda7737ba11 C:\Program 文件 (x86)\APPFOLDER\APP.exe C:\Program Files (x86)\APPFOLDER\x86\SQLite.Interop.dll cb1e1c14-590b-11e5-80ce-00155d8378f5


我现在添加了一些异常报告,希望能获得更多信息。但我不确定这是否足够......

另外,我不确定我能做些什么来触发这个问题......


这可能不相关,但其他人甚至得到了另一个发生异常的屏幕截图:

CLR20r3 在 System.Data.SQLite 中 => 我查了一下,发现了一个 SO 帖子: Program Stopped working, Problem Event Name: CLR20r3

所以我修改了 app.config 以添加:

    <startup useLegacyV2RuntimeActivationPolicy="true" >  
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>

不确定这是否有帮助,因为我无法重现此问题。

只是想添加此信息以防有人认为这是相关的...


以前有没有人见过这样的事情,最好的做法是什么?

PS。应用程序每隔几分钟就通过 Telerik 数据访问(又名 Telerik OpenAccess)与 sqlite 进行一次对话 => 它只是一个类似于 EF 的 ORM。

【问题讨论】:

    标签: c# .net sqlite telerik


    【解决方案1】:

    您能否附加一个调试器,例如Windbg 或Remote debug with Visual Studio?通过这种方式,您可以获得有关引发的异常(如果有)的更多信息。

    为了更彻底地调试它,我会提取与数据库通信的代码并创建一个小应用程序来一遍又一遍地运行该部分。既然您说与数据库进行实际通信需要几分钟,并且由于我们在互操作程序集中遇到错误,那么最好对其进行压力测试。

    【讨论】:

    • 也许但是上次崩溃发生时,应用程序运行了大约 12 个小时。如果我不知道崩溃何时发生,我认为最好不要调试。
    猜你喜欢
    • 1970-01-01
    • 2022-10-13
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多