我在我的 ASP.NET Web 应用程序中使用以下方法来接收异常的堆栈跟踪:
public static void getStackTraceInfo(System.Diagnostics.StackTrace trace)
{
for (int i = 0; i < trace.FrameCount; i++)
{
int nLine = trace.GetFrame(i).GetFileLineNumber();
int nCol = trace.GetFrame(i).GetFileColumnNumber();
string methodName = trace.GetFrame(i).GetMethod().Name;
}
}
try
{
}
catch(Exception ex)
{
getStackTraceInfo(new System.Diagnostics.StackTrace(ex, true));
}
如果我在 Visual Studio 2010 开发环境中运行它,它会为我提供完整的行/列/方法名称信息,但在 IIS 上的生产环境中,它会返回全 0 和方法名称作为空字符串。
我是否需要做一些特别的事情才能让它在 IIS 上也能正常工作?