我是写作异常,但是对于fileName它返回null并且为行号返回0。我打开任何其他项目,它成功运行。我认为它与调试设置有关我如何更改我的项目设置以响应我的代码?
public static void WriteUnexpectedErrors(Exception ex)
{
StackTrace trace = new StackTrace(ex, true);
string fileName = trace.GetFrame(0).GetFileName();
int lineNo = trace.GetFrame(0).GetFileLineNumber();
}
此代码得出了一些结果,但上面的代码不起作用,尤其是GetFrame(0).GetFileName();
foreach (var frame in trace.GetFrames())
{
if (!string.IsNullOrEmpty(frame.GetFileName()))
{
Console.WriteLine(frame.GetFileName());
}
if (frame.GetFileLineNumber() > 0)
{
Console.WriteLine(frame.GetFileLineNumber());
}
}
答案 0 :(得分:1)
检查项目属性的“构建”选项卡上的“高级设置”中的Debug Info
。确保将调试信息设置设置为full
或pdb-only
。