
這是個偶發的錯誤,寫的軟體,每個方法都會捕捉到錯誤資訊,這次沒有錯誤日志,去系統日志里看了下發現了,這個錯誤,推測是記憶體的問題,請大佬們解惑!
uj5u.com熱心網友回復:
ntdll.dll模塊?????uj5u.com熱心網友回復:
缺少底層資源uj5u.com熱心網友回復:
崩潰了,也就是軟體遇到了無法恢復的例外你可以在崩潰前攔截,然后使用minidump去抓個dump出來,然后在使用dump分析工具分析
AppDomain.CurrentDomain.UnhandledException+=你的處理方法
這個方法能攔截軟體崩潰前資訊,當然一般到了這里,軟體已經崩潰,已經無法救了,只能記錄日志,抓dump以提供后續分析了
uj5u.com熱心網友回復:
對于c#編程,怎么能預防這種錯誤呢?是記憶體泄露造成的嗎?如果是一般邏輯錯誤都會抓到錯誤日志的
uj5u.com熱心網友回復:
不是捕獲不到,而是沒捕獲。
UnhandledException也就是未處理例外,同時是當前Domaind所有階段都沒處理的例外,所以當前domain退出
我給你一個我實際處理的崩潰方式------也是告訴你這種崩潰也許并不是你想的那種記憶體啊,泄漏啊,也許他只是一個簡單錯誤
真實案例:
某個服務崩潰,通過UnhandledException 的Log發現,只是一個很小的例外,監聽某個目錄檔案并進行處理,在啟動前第3方軟體又把檔案洗掉了,于是openfile例外(雖然我代碼也抓了dump,但實際上我并沒有進行dump分析,僅僅日志記錄分析就可以定位了)
雖然這只是一個很小的例外,只是因為這種意外沒有其他地方進行處理,所以崩潰了。自然這種例外我只需要簡單在openfile的時候加個try就不崩潰了
uj5u.com熱心網友回復:
缺少底層資源
崩潰了,也就是軟體遇到了無法恢復的例外
你可以在崩潰前攔截,然后使用minidump去抓個dump出來,然后在使用dump分析工具分析
AppDomain.CurrentDomain.UnhandledException+=你的處理方法
這個方法能攔截軟體崩潰前資訊,當然一般到了這里,軟體已經崩潰,已經無法救了,只能記錄日志,抓dump以提供后續分析了
對于c#編程,怎么能預防這種錯誤呢?是記憶體泄露造成的嗎?如果是一般邏輯錯誤都會抓到錯誤日志的
不是捕獲不到,而是沒捕獲。
UnhandledException也就是未處理例外,同時是當前Domaind所有階段都沒處理的例外,所以當前domain退出
我給你一個我實際處理的崩潰方式------也是告訴你這種崩潰也許并不是你想的那種記憶體啊,泄漏啊,也許他只是一個簡單錯誤
真實案例:
某個服務崩潰,通過UnhandledException 的Log發現,只是一個很小的例外,監聽某個目錄檔案并進行處理,在啟動前第3方軟體又把檔案洗掉了,于是openfile例外(雖然我代碼也抓了dump,但實際上我并沒有進行dump分析,僅僅日志記錄分析就可以定位了)
雖然這只是一個很小的例外,只是因為這種意外沒有其他地方進行處理,所以崩潰了。自然這種例外我只需要簡單在openfile的時候加個try就不崩潰了
明白了,捕獲例外,分析例外,才可以從根本上解決問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/270240.html
標籤:C#
上一篇:cs發起呼叫一個html,IE打開,怎么給打開的IE 中js傳參
下一篇:c# winfrom NOPI
