在MonoDevelop中进行调试时,会出现无效的random.NextDouble值

时间:2014-09-11 20:18:46

标签: debugging mono monodevelop

在Linux Mint 17上运行MonoDevelop 4.0.12并在使用Random.NextDouble()时遇到一个奇怪的问题。

考虑一下:

Random r = new Random ();
double dd = r.NextDouble ();
Console.WriteLine (dd);
dd = r.NextDouble ();
Console.WriteLine (dd);
在monodevelop中

运行,一切都很好

0.226428853800577
0.331709416335702

(无论我跑多少次)

在monodevelop中进行调试,一切都不是

3.75
0

NextDouble假设给我一个介于0.0和1.0之间的数字。甚至更奇怪的是,调试器为dd

这两个值的值显示5.25和3.5的值

每次运行时,控制台都会显示不同的(错误的)输出,但调试器会显示相同的内容。

有什么想法吗?

我使用libmono-debugger-soft4.0a-cil作为调试器(v3.2.8 + dfsg-4ubuntu1)。我尝试构建不同版本的.NET并为Random()提供一个明确的种子,同样的事情。

MonoDevelop
Version 4.0.12
Runtime:
    Mono 3.2.8 (Debian 3.2.8+dfsg-4ubuntu1) (64-bit)
    GTK 2.24.23
    GTK# (2.12.0.0)

1 个答案:

答案 0 :(得分:0)

从官方存储库中删除所有mono并从this PPA安装,现在一切正常。

必须是使用Mint 17(Ubuntu 14.04)打包的monodevelop,debugger或runtime中的错误