小心Debug与Release报错行号不一样
Debug调试版和Release发行版,它们有各用的特点和用途。但要注意抛出异常时的行号可能不相同。
以下面一段代码为例:
using System; using System.Windows.Forms; namespace ExceptionTest { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { try { int a = 10; int b = 0; Console.WriteLine(a / b); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } } }
如果是使用Debug调试版,报错为17行:
但是,如果是使用Release发行版,报错则为15行。
这是因为JIT编译器在生成发布版时,会使用内联方法调用导致行号不一致。因此,要排错,应该选用Debug版本;如果代码有改动,还得利用SVN版本来查看标记的版本。
作者:我也是个傻瓜
出处:http://www.cnblogs.com/liweis/
签名:成熟是一种明亮而不刺眼的光辉。