2008-08-21 15 views
1

當ASP.NET應用程序出錯並生成黃色屏幕顯示時,我想從錯誤頁面創建某種鏈接,該鏈接將直接跳轉到Visual Studio中正確的代碼行。將ASP.NET黃色錯誤頁面直接鏈接到VS源代碼

我不知道如何處理這個問題,或者是否有任何已經存在的工具來完成它 - 但是我想要從哪裏開始。

如果需要生成新的錯誤頁面,是否可以在整個Web服務器上替換標準黃色屏幕,而不必爲每個應用程序配置自定義錯誤輸出?

回答

1

您可能需要在頁面中嵌入一個ActiveX控件,以實現類似的功能。

0

死亡的黃色屏幕由默認的ASP.NET HTTPHandler提供。

爲了攔截它,你需要在它前面添加另一個攔截所有未捕獲異常的HTTPHandler。

在這一點上,你可以做任何你想要的錯誤佈局。

創建一種直接跳轉到Visual Studio的方法會很棘手。我可以通過COM/ActiveX對象在IE中看到它。

-1

我能想到的最簡單,最懶的東西是有過程正是如此發生:

  1. 黃色屏幕被修改,使得該行的源代碼是可以點擊的。點擊後,它會提供一個帶有源文件名和行號的小文本文件。
  2. PC上的一個小程序與小文件的擴展名相關聯,黃色屏幕允許您下載。該程序使用visual studio的可擴展性模型來打開源文件並轉到該行。該程序可能需要知道你的源代碼在哪裏。

A simple Google search 給出瞭如何與外部程序such as this post on MSDN操縱VS有益的指針。

如果你想變得更時髦,那麼肯定還有其他的方法,但我寧願寫出一個快速和骯髒的程序,並讓它脫離我的方式,所以我可以關於我的業務。

不要讓工具成爲項目...

- 亞當

0

死亡的黃色屏幕僅僅是一個500錯誤至於服務器而言,你可以重定向到一個自定義屏幕使用web.config的錯誤部分。爲了使整個服務器以相同的方式改變,你可以在iis級別重寫它?或者甚至可以在machine.config文件中設置默認行爲(但並不是100%肯定)

0

就服務器而言,死亡的黃色屏幕只有500錯誤,您可以重定向自定義屏幕使用web.config的錯誤部分。爲了使整個服務器以相同的方式改變,你可以在iis級別重寫它?或者甚至可以在機器中設置默認行爲。配置文件(雖然不是100%確定)

如果你讓它一路通向IIS,你將無法訪問異常信息。它更好地在YSOD之前捕獲異常併爲您提供服務。

這可以在應用程序級完成。

0

不要忘了您需要使用Program Debug Database(pdb)文件來查找源代碼行號。處於發佈模式的應用程序將不具有與調試版本相同的信息級別。