我想保存程序中出现异常的地方(函数名,行号,)听说有一个函数(或者宏)可以自动获取行号,谁能告诉我?我从网上没有搜索到!

解决方案 »

  1.   

    .NET Framework 类库  
    StackFrame.GetFileLineNumber 方法  
    获取文件中包含所执行代码的行号。该信息通常从可执行文件的调试符号中提取。 命名空间:System.Diagnostics
    程序集:mscorlib(在 mscorlib.dll 中)
    返回值
    文件行号。 - 或 - 如果无法确定行号,则为零。 
    下面的代码示例说明了如何使用 GetFileLineNumber 方法。// Display the stack frame properties.
    StackFrame sf = st.GetFrame(i);
    Console.WriteLine(" File: {0}", sf.GetFileName());
    Console.WriteLine(" Line Number: {0}", 
       sf.GetFileLineNumber());
    // Note that the column number defaults to zero
    // when not initialized.
    Console.WriteLine(" Column Number: {0}", 
       sf.GetFileColumnNumber());
    if (sf.GetILOffset() != StackFrame.OFFSET_UNKNOWN)
    {
       Console.WriteLine(" Intermediate Language Offset: {0}", 
          sf.GetILOffset());
    }
    if (sf.GetNativeOffset() != StackFrame.OFFSET_UNKNOWN)
    {
       Console.WriteLine(" Native Offset: {0}", 
          sf.GetNativeOffset());
    }