2011-10-26 2 views
0

私はかなり複雑なページモデルを持っています。私のページの一つで、私はバグを修正しました。このページは別のページにリダイレクトされますが、このリダイレクトがページモデルでどこで起こっているのかわかりません。ナビゲーションはDBに保存されているので、レスポンスの検索はできません.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キーを押してコードを1行ずつ移動します。

関連する問題