首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

获取程序的行号?该如何处理

2011-12-28 
获取程序的行号?????我想保存程序中出现异常的地方(函数名,行号,)听说有一个函数(或者宏)可以自动获取行号

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

[解决办法]
.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());
}

热点排行