相关疑难解决方法(0)

如何在没有pdb的情况下在堆栈跟踪中包含行号?

我们目前正在分发一个没有.pdb文件的WinForms应用程序,以节省客户端计算机上的空间和下载带宽.当我们得到堆栈跟踪时,我们得到方法名称但不是行号.有没有办法获取行号而不诉诸分发.pdb文件?

.net c# deployment debugging pdb-files

31
推荐指数
2
解决办法
2万
查看次数

在异常处理中显示行号

如何显示哪个行号导致错误,这是否可能与.NET编译其.exes的方式有关?

如果没有,Exception.Message是否有自动方式显示被淘汰的子?

try
{
  int x = textbox1.Text;
}
catch(Exception ex)
{
     MessageBox.Show(ex.Message);
}
Run Code Online (Sandbox Code Playgroud)

.net c# exception-handling exception line-numbers

19
推荐指数
2
解决办法
5万
查看次数

StackTrace/StackFrame不会在生产环境中返回预期信息

我在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));
}
Run Code Online (Sandbox Code Playgroud)

如果我在Visual Studio 2010开发环境中运行它,它会为我提供完整的行/列/方法名称信息,但在IIS上的生产环境中,它将返回所有0和方法名称为空字符串.

我是否还需要做一些特殊的事情才能使它在IIS上运行?

c# asp.net debugging stack-trace visual-studio-debugging

6
推荐指数
1
解决办法
5544
查看次数

获取例外的行号

可能重复:
C#异常没有给行号

在C#winform中,我有一个catch块

Exception.ToString() - >获取抛出异常的代码的异常信息和行号.

在开发中.环境,我得到行号,而当生产中部署相同的EXE时,我没有得到行号,有什么想法吗?

我如何在生产环境中获得line #s?即使我尝试过StackTrace

class's GetFileLineNumber(),但它并没有给我带来生产环境中的#行.

.net c# vb.net exception winforms

1
推荐指数
1
解决办法
3208
查看次数