如何在重定向之前获得堆栈跟踪

本文关键字:堆栈 跟踪 重定向 | 更新日期: 2023-09-27 18:12:30

我有一个相当复杂的页面模型。在我的一个页面上,我已经修复了一个错误。这个页面然后重定向到另一个页面,但我不知道这个重定向是发生在页面模型的哪里?导航保持在数据库中,所以我不能搜索响应。c#等中的重定向....

是否有一个地方,我可以设置一个断点,以便它将停止应用程序,就在重定向发生之前,然后我可以通过堆栈跟踪查看在生命周期中调用什么方法?

如何在重定向之前获得堆栈跟踪

您可以尝试这样做:

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()。这将告诉您在重定向之前调用了哪些方法(希望是:)

您可以通过代码步进实现您所需要的。在页面上确定要执行的最后一行设置一个断点,然后按F11逐行浏览代码。