2009-12-23 155 views
1

我想知道是否有工具,或者是否有編程方法來映射Web應用程序的執行?C#動態代碼分析

要澄清,我工作的公司開發的CRM產品是基於動態加載ASCX控件逐頁的基礎上的概念。

我希望看到的是從請求開始到頁面呈現,查看哪些類被實例化以及哪些方法被輸入的映射;看到傳遞的論據也會很好。

我心裏知道我們有一些嚴重的圈複雜性問題,我希望能夠生成一個圖表或我可以放在我的開發經理的前面並在這裏說 - 現在請讓我修復它!

我已經看到了用於反射器的Code metrics插件,當然還有NDepend,但是我需要一些附加到實時進程的東西,即使我需要使用屬性進行修飾。 這樣我可以看到不同的執行取決於哪些頁面和哪些模塊加載。

我會很感激任何意見!

回答

3

原來那PostSharp是這個問題最合適的。 這是一個默認的例子,在這個龐大的程序集中爲每個方法編織一個Trace,給了我之後的輸出。

感謝大家對他們的投入,雖然從最後一次嘗試後至少看到螞蟻已經長大了很多,它似乎現在拿起我們動態加載的用戶控件!

0

您是否正在爲此目的進行調試?您可以打開內置跟蹤,在aspx(或web.config中,對於整個應用程序)的@Page聲明中添加trace="true",然後在加載頁面時查看此詳細信息。

+0

跟蹤告訴你哪些控件被加載,但它不會跟蹤方法調用和參數值(除非Russ很樂意在每個函數的開始處放一個Trace.Write(.. function + params ..)) – 2009-12-23 11:21:08

+0

這可能會證明觸摸尷尬,但它確實提供了一些可能有用的信息。 – 2009-12-23 11:26:37

1

嘗試使用AntsProfiler

+0

幾年前我嘗試過螞蟻,但它不會深入到由LoadControl加載的ASCX控件背後的代碼(...) 不能傷害再試一次,但橋下的水很多自那以後。 – 2009-12-23 11:11:00