简体   繁体   English

SQLite.Interop.dll崩溃,没有任何解释

[英]SQLite.Interop.dll crashes without explanation

I have a .net winforms application that is distributed to several computers and it uses a local sqlite database. 我有一个.net winforms应用程序,该应用程序分发到多台计算机,并且使用本地sqlite数据库。

This application seems to run fine when I start it and it communicates fine with the sqlite database. 启动该应用程序后,它似乎运行良好,并且与sqlite数据库通信良好。

Unfortunately after some time the application crashes and says nothing more than the following in the event log: 不幸的是,一段时间后,应用程序崩溃了,在事件日志中只显示了以下内容:

  • System 系统

  • Provider 提供商

    [ Name] Application Error [名称]申请错误

  • EventID 1000 EventID 1000

    [ Qualifiers] 0 [预选赛] 0

    Level 2 2级

    Task 100 任务100

    Keywords 0x80000000000000 关键字0x80000000000000

  • TimeCreated TimeCreated

    [ SystemTime] 2015-09-12T05:04:50.000000000Z [SystemTime] 2015-09-12T05:04:50.000000000Z

    EventRecordID 11046 EventRecordID 11046

    Channel Application 渠道申请

    Computer COMPUTERNAME 计算机名

    Security 安全

    • EventData EVENTDATA

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


I have now added some exception reporting in the hope that I get more information. 现在,我添加了一些异常报告,希望能获得更多信息。 But I'm not sure that this will be enough.... 但是我不确定这是否足够...

Also, I'm not sure what I can do to trigger the problem... 另外,我不确定该怎么做才能触发问题...


This may not be related but someone else even got a screenshot of another exception that occured: 这可能没有关系,但是其他人甚至得到了另一个发生的异常的屏幕截图:

CLR20r3 In System.Data.SQLite => I looked this up and found a SO post: Program Stopped working, Problem Event Name: CLR20r3 CLR20r3在System.Data.SQLite =>中,我进行了查找,发现了一个SO帖子: 程序停止工作,问题事件名称:CLR20r3

So I modified the app.config to add : 所以我修改了app.config添加:

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

Not sure if this has helped since I can't reproduce this problem. 不确定是否有帮助,因为我无法重现此问题。

Just wanted to add this info in case someone recognizes this as related... 只是想添加此信息,以防有人将其识别为相关信息...


Has anyone seen something like this before and what is the best course of action? 有人以前见过这样的事情吗,最好的做法是什么?

PS. PS。 the application talks to sqlite every few minutes via telerik data access (aka telerik openaccess) => it's just a ORM like EF. 该应用程序每隔几分钟就会通过telerik数据访问(又称为telerik openaccess)与sqlite进行对话=>就像EF这样的ORM。

Would you be able to attach a debugger such as Windbg or Remote debug with Visual Studio ? 您是否可以使用Visual Studio附加诸如Windbg远程调试的调试器? That way you can get more information about the exception (if there is one) that is thrown. 这样,您可以获取有关引发的异常(如果有)的更多信息。

In order to debug this more thoroughly, I would pull out the code that communicates with the database and create a small application that runs that section over and over again. 为了更彻底地调试它,我将提取与数据库通信的代码,并创建一个小型应用程序,该应用程序会反复运行该部分。 Since you said it takes a few minutes to actually communicate with the DB and since we're getting the error at the interop assembly, then it would be best to stress test that. 既然您说过与数据库进行实际通信需要花费几分钟,并且由于我们在互操作程序集上遇到了错误,所以最好对它进行压力测试。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM