【发布时间】:2011-01-14 19:02:42
【问题描述】:
好的;假设这段代码在调试模式下运行 -
static StackFrame GetTopFrameWithLineNumber(Exception e)
{
StackTrace trace = new StackTrace(e);
foreach (StackFrame frame in trace.GetFrames())
{
if (frame.GetFileLineNumber() != 0)
{
return frame;
}
}
return null;
}
我总是返回 null。当我检查Exception.StackTrace 字符串时,为什么堆栈帧没有行号,它显然对任何非框架代码都有它们?从我不知道的异常构造堆栈跟踪是否存在一些问题?
为清晰而编辑: 在抛出的异常中,我可以看到 StackTrace 属性中的行号。我假设这意味着我拥有我需要的一切。
【问题讨论】:
标签: .net debugging stack-trace line-numbers