2012-12-20 72 views
1

進出口編碼和.NET 4.0.3 ... SP1。在C#和WPF程序崩潰,並且沒有人知道哪裏VS 2010下

我的項目是現在非常巨大的,包括由其他同事開發的DLL,所以我沒有獲得的東西全部代碼。

的一點是,幾乎隨機我的程序崩潰(在調試期間)聲稱未處理的NullReferenceException。有幾個線程在同一時間,所以它是一個地獄知道它在哪裏發生了移動..

我用Google搜索和搜索在這裏,我發現人們說,如果你去

Debug>Exceptions>Common Language RunTime Exceptions> System.NullReferenceException 

,並設置拋出而不是用戶句柄。它應該停止空引用發生,但它不會..

在運行時間我可以看到如何一些線程freze(輸出停止反映在用戶界面,但其他線程繼續(他們確實在用戶界面上執行更改)然後,afetr幾秒鐘,整個事情崩潰因未辦理NRE

沒有調用堆棧,也不代碼調試什麼都沒用,所以我有點困在這裏:S。

這是所有幫助我得到:

System.NullReferenceException了未處理 消息:對象引用不是S et到一個對象的一個​​實例。

任何建議???

+0

「沒有callStack「,你的意思是當你在調試器中檢查異常時,StackTrace屬性是空的嗎? – Clemens

+0

那麼,這個NRE是否會顯示在帶有一行代碼的彈出窗口中?你是否嘗試過去所有'DirectCast'事件(如果有的話),並將它改爲'Try ... Catch ... End Try'並使用'MsgBox'來顯示'ex.message'? – JosephGarrone

+0

對不起,我不知道什麼是DirectCast。無論如何.. 是沒有callStack m – javirs

回答

1

使用Visual Studio的IntelliTrace選項,以更好地調試和找到例外...
Enable IntelliTrace和調試程序崩潰後,您可以使用智能跟蹤堆棧來查找異常的起源。

從MSDN

的IntelliTrace記錄了這些類型的異常異常類型和消息:
1.處理的異常當拋出異常,並且抓住了
2.未處理的異常

+0

我需要VS Ultimate嗎?我的是VS 2010 v10.0.4 如果周圍搜索了一下,沒有發現任何... – javirs

+0

你說的「四處搜尋」是什麼意思?從我記得,它在VS 2010 Ultimate – Blachshma

+0

中可用,通過菜單和googleing有點搜索。我認爲我有VS2010專業版。而這是不一樣的那個終極所以..沒有IntellyTrace :( 你知道是否可以使用PDB文件到重現錯誤? – javirs

相關問題