如何在重定向之前获得堆栈跟踪
本文关键字:堆栈 跟踪 重定向 | 更新日期: 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逐行浏览代码。