2015-09-12 75 views
0

我有一個.net winforms應用程序分發給幾臺計算機,它使用本地sqlite數據庫。SQLite.Interop.dll崩潰沒有解釋

此應用程序似乎運行良好,當我啓動它,它與sqlite數據庫良好通信。

不幸的是一段時間後,該應用程序崩潰,並說沒有什麼比在事件日誌中的以下幾點:

  • 系統

  • 提供商

    [名]應用程序錯誤

  • EventID 1000

    [限定符] 0

    級別2

    任務100

    關鍵詞0x80000000000000

  • TimeCreated

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

    EventRecordID 11046

    通道應用程序

    computer計算機

    安全

    • EVENTDATA

    APP.EXE 1.4.0.0 55f3427b SQLite.Interop.dll 1.0.89.0 526c2665 c00000fd 0003ad7c E3C 01d0ecda7737ba11 C:\程序文件(x86)\ APPFOLDER \ APP.EXE C:\程序文件(x86)\ APPFOLDER \ 86 \ SQLite.Interop.dll cb1e1c14-590b-11e5-80ce-00155d8378f5


現在我已經加入,希望我得到更多的信息,一些異常報告。但我不知道,這將是足夠的....

而且,我不知道我能做些什麼來觸發此問題...


這可能不相關,但其他人甚至獲得了另一個發生異常的屏幕截圖:

CLR20r3在System.Data中。SQLite的 =>我看這件事,並發現了一個SO後: Program Stopped working, Problem Event Name: \t CLR20r3

所以我修改的app.config補充:

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

不知道這幫助了,因爲我不能重現此問題。

只想添加此信息,以防有人將其識別爲相關...


有沒有人見過這樣的事情之前,什麼是最好的行動過程?

PS。應用程序每隔幾分鐘通過telerik數據訪問(又名telerik openaccess)與sqlite交談=>它只是一個像EF這樣的ORM。

回答

0

你能夠附加一個調試器,如WindbgRemote debug with Visual Studio?通過這種方式,您可以獲得有關引發的異常(如果有)的更多信息。

爲了更徹底地進行調試,我將取出與數據庫通信的代碼並創建一個反覆運行該部分的小應用程序。既然你說過需要幾分鐘的時間才能與數據庫進行通信,並且由於我們在互操作程序集中遇到了錯誤,所以最好對此進行壓力測試。

+0

也許但是最後一次崩潰發生時,應用程序運行了大約12個小時..我只是覺得最好不要調試如果我不知道什麼時候崩潰發生。 – user1841243