2011-10-26 101 views
0

我有一個相當複雜的頁面模型。在我的一頁上,我修復了一個錯誤。這個頁面然後重定向到另一個頁面,但我不知道這個重定向在頁面模型中發生了什麼?導航保存在一個分貝,所以我不能搜索response.Reddirect在C#等....如何在重定向之前獲得堆棧跟蹤?

是否有一個地方,我可以設置一個斷點,以便它會停止應用程序就在重定向發生之前然後我可以通過堆棧跟蹤來查看生命週期中調用哪些方法?

回答

0

你可以嘗試這樣的:

using System; 
using System.Linq; 
using System.Diagnostics; 

    public class Program 
    { 
     [STAThread] 
     static void Main(string[] args) 
     { 
      Test43545(); 
      Test1(); 
      Console.ReadLine(); 
     } 

     public static void Test43545(){ 
      Test1(); 
     } 
     public static void Test1() 
     { 
      StackTrace stackTrace = new StackTrace();  
      StackFrame[] stackFrames = stackTrace.GetFrames(); 

      // write call stack method names 
      foreach (StackFrame stackFrame in stackFrames) 
      { 
       Console.WriteLine(stackFrame.GetMethod().Name); 
      } 
     } 
    } 

以上將讓你的這被調用的函數,該名最多調用Test1()。這將告訴你在重定向之前調用哪些方法(希望:)

0

您可能能夠通過Code Stepping實現您所需要的。在你知道一定會執行的頁面的最後一行設置一個斷點,然後按F11逐行瀏覽代碼。