获取程序的行号,获取程序行号
我想保存程序中出现异常的地方(函数名,行号,)听说有一个函数(或者宏)可以自动获取行号,谁能告诉我?我从网上没有搜索到!解决方案
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());
}
用户评论