2009-11-06 30 views
4

我一直在嘗試和失敗,以獲取VS.NET 2008來剖析ASP.NET MVC應用程序。當我嘗試啓動分析會話時,我從VS.NET中得到一個通用服務器500錯誤:Visual Studio 2008性能事件探查器與ASP.NET的問題

網站無法正確配置;獲取ASP.NET進程信息失敗。請求'http://localhost:4750/foo/VSEnterpriseHelper.axd'返回錯誤:遠程服務器返回錯誤:(500)內部服務器錯誤。

我已經試過幾件事,包括:

一個全新的ASP.NET MVC應用程序(即文件|新建|工程)將與簡介out問題,所以我知道我的機器能夠分析這樣的應用程序。

所以,我的問題是,其他常見和不常見的事情,可以防止VS.NET啓動一個ASP.NET應用程序分析會話?

+0

對我來說,答案是「停止嘗試使用VS.NET分析器並使用Red-Gate的ANTS分析器」。當我改用螞蟻時,我立即變得高效。 –

回答

4

的響應同樣的問題如果你不能讓VS.Net分析工作,那麼有幾個第三方工具可能會有所幫助。顯然你需要爲這些支付。

螞蟻有一個免費的演示在這裏:http://www.red-gate.com/products/ants_memory_profiler/index_v2.htm

JetBrains公司也有一個跟蹤工具,提供分析(我沒有使用過這一點,但我喜歡他們的ReSharper的工具,所以我懷疑這將是很好的):http://www.jetbrains.com/profiler/index.html

+0

螞蟻第一次工作,已經給了我一些很好的結果。謝謝deadbeef。 –

4

在與輪廓儀摔跤之間,您可以通過this method輕鬆地從時間角度輕鬆獲得您的程序正在進行的操作。它揭示的通常是一個驚喜。

補充:我做了相當數量的調整,對這些事情有不同的看法,比如:掛鐘時間是重要的,個別指令比函數/方法更重要,調用樹圖&圖很有意思,但沒有人知道他們在表演方面的真正含義,演示是Mandelbrot這樣的高架玩具,而單個樣本是錢的地方,而不是摘要。

例如,調整.NET應用程序,啓動需要很長時間。所以在那段時間裏,我多次採樣並詢問「它在做什麼,爲什麼?」它正在通過資源中的ID查找字符串(因此字符串可以國際化)。有必要嗎?如果我看一下特定的字符串,它們就是永遠不需要國際化的字符串。沒有任何分析人員可以告訴我這一點,但樣本立即發現。

+0

很好的答案。你說對了 - ANTS指出了幾種我認爲不會有問題的方法。 –

+0

@Martin:謝謝。我補充說明我的意思。 –

2

如果你有一個拆分配置設置與外部AppSettings,這可能會導致這樣的錯誤。

在Visual Studio探查似乎通過

<appSettings configSource="App_Config\AppSettings.config" /> 

有識別您包括您的AppConfig設置的問題,它需要直接插入必要的分析任何的AppSettings了,而不是在web.config。

在我的情況下,將AppSettings移回到web.config中解決了問題。

+0

嗯。那很有意思。我沒有外部的AppSettings.config,但我確實有很多其他外部.config文件。我想知道這是否相關。 +1提出一個有趣的建議。 –

4

這是我如何得到它VS2010

  1. 確保你的web.config是可寫的

  2. 創建一個新的性能會話工作了我的ASP.NET網站,不添加任何項目以它

反而增加你的網站的網址「目標 - >右鍵 - >添加現有的網站」 確保運行一次的網站,以便使IIS過程或ASP.NET服務器進程啓動並運行

  1. 右鍵點擊你的表現會話,然後選擇「連接」,然後選擇您的Web服務器進程

現在去你的網站,做任何場景,然後回到你的VS並點擊停止。

+0

很好的答案。一個建議是,如果您將列表格式化,讀取響應(特別是那些具有有序列表的響應)會更容易。我會盡力向你展示,但我無法編輯你的回覆。 – davids