如何获取Line异常
本文关键字:Line 异常 获取 何获取 | 更新日期: 2023-09-27 17:59:26
这个问题很清楚。它应该与一起工作
StackTrace st = new StackTrace(exc, true);
//Get the first stack frame
StackFrame frame = st.GetFrame(0);
//Get the file name
//string fileName = frame.GetFileName();
//Get the line number from the stack frame
int line = frame.GetFileLineNumber();
问题是,如果我在调试模式下启动应用程序,它总是可以工作的。当我在发布模式下启动它时,它似乎需要pdb文件来获得这些信息。那么保留pdb文件的缺点是什么呢(我认为只有在调试模式下才需要它们)。Viceversa这是获取异常行信息的唯一方法吗?
那么,保留pdb文件的缺点是什么(我认为它们只在调试模式下需要)
主要是因为它有助于更大规模的部署。显然它不会影响性能。
Viceversa这是获取异常行信息的唯一方法吗?
是的,只有pdb包含线路信息。但正如评论中所提到的,在发布模式下,行号可能并不完全准确。
除了使用pdb文件的技巧外,如果需要保留行号(不是100%),还需要禁用项目的"优化代码"选项。但无论如何都不建议这样做,因为这可能会使您的程序变慢。
您可以在项目属性的生成选项中找到它。
优化代码重新排列您的代码删除、移动和添加行以优化它。