我收到「System.NullReferenceException:對象引用未設置爲對象的實例」。當我啓動我的Web應用程序的發佈版本時出錯。它告訴我要進行調試構建以獲取更多信息,但是當我啓動調試構建時,錯誤不再發生。如果沒有調試版本中大多數錯誤給出的行號的幫助,則很難(從我所知道的)查明這種模糊錯誤的原因。System.NullReferenceException僅在發佈版本
任何人都可以指出我正確的方向來縮小這個例外的原因嗎?
謝謝。
我收到「System.NullReferenceException:對象引用未設置爲對象的實例」。當我啓動我的Web應用程序的發佈版本時出錯。它告訴我要進行調試構建以獲取更多信息,但是當我啓動調試構建時,錯誤不再發生。如果沒有調試版本中大多數錯誤給出的行號的幫助,則很難(從我所知道的)查明這種模糊錯誤的原因。System.NullReferenceException僅在發佈版本
任何人都可以指出我正確的方向來縮小這個例外的原因嗎?
謝謝。
作爲解決問題的快速解決方案(如果您沒有時間重寫代碼),請參閱發佈應用程序的機器上的事件日誌。你很可能只是錯過了一些dll。作爲一個長期的解決方案,我認爲你可以開始爲你的應用程序(企業庫,log4net等甚至你自己的記錄器)添加一些日誌記錄功能。打印完整的堆棧跟蹤是非常寶貴的幫助資源,尤其是當您在發行版中包含.pdb文件時。這將允許您執行的代碼確切地告訴哪一行拋出異常。
希望這有助於 彼得
這是可能得到的文件名和行號在您的堆棧跟蹤,即使你在Release模式構建。例如,參見Display lines number in Stack Trace for .NET assembly in Release mode和Is stacktrace information available in .NET release mode build?。一般來說,我認爲你應該避免在Debug和Release模式下引入不同的程序行爲(但也許你沒有故意介紹它)。
WinDbg + SOS,http://blogs.msdn.com/b/tess/archive/2009/04/16/net-exceptions-quick-windbg-sos-tip-on-how-to-dump-all -the-net-exceptions-on-the-heap.aspx –
檢查配置文件。也許發佈文件中的連接字符串是錯誤的或空的=) – xtmq
你發現你的問題? –