加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

闯入C#调试器除以零

发布时间:2020-12-15 23:51:52 所属栏目:百科 来源:网络整理
导读:我正在使用C#和XNA库,我在我的Vector3对象中出现了NaNs.当有问题的计算发生时,有没有办法进入调试器(例如除以零)?目前该计划正在继续运行.我正在使用VS2008 Professional. “例外”对话框中的所有例外都在“user-unhandled”列中选择. 编辑:为了澄清,我无
我正在使用C#和XNA库,我在我的Vector3对象中出现了NaNs.当有问题的计算发生时,有没有办法进入调试器(例如除以零)?目前该计划正在继续运行.我正在使用VS2008 Professional. “例外”对话框中的所有例外都在“user-unhandled”列中选择.

编辑:为了澄清,我无法弄清楚计算错误的地方.这就是我希望调试器自动中断的原因.设置断点不是解决方案.

解决方法

首先将double / float除以零得到Infinity / -Infinity,取决于double是正还是负.只有零双/浮点数除以零才能得到NaN.在任何一种情况下,都不会抛出任何异常.

您应该能够使用条件断点来检测特定变量何时设置为其中一个值.在检查NaN时要小心,因为NaN!= NaN.

double a = double.NaN;
Console.Out.WriteLine(a == double.NaN); // false
Console.Out.WriteLine(a == a); // false
Console.Out.WriteLine(double.IsNaN(a)); // true

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读