Ubuntu MonogameLinux在发布时崩溃

Ubuntu MonogameLinux在发布时崩溃,ubuntu,mono,crash,monodevelop,monogame,Ubuntu,Mono,Crash,Monodevelop,Monogame,当从Linux(Ubuntu12.04)启动一个单游戏游戏时,我在控制台中遇到以下错误 当我延迟任何逻辑发生直到一定的游戏时间过去时,这个错误不会发生,但是所需的游戏时间不断变化,而且太长了。有没有办法解决这个错误消息是什么 代码:初始化 public class Husk : Game { public GraphicsDeviceManager graphics; public SpriteBatch regBatch; public World world;

当从Linux(Ubuntu12.04)启动一个单游戏游戏时,我在控制台中遇到以下错误

当我延迟任何逻辑发生直到一定的游戏时间过去时,这个错误不会发生,但是所需的游戏时间不断变化,而且太长了。有没有办法解决这个错误消息是什么

代码:初始化

public class Husk : Game
{
    public GraphicsDeviceManager graphics;
    public SpriteBatch regBatch;
    public World world;
    public static Texture2D pixel;
    string title;

    public Husk(string Title = "") // :base() seems to make the required elapsed time lesser.
    {
        title = Title;
        graphics = new GraphicsDeviceManager(this);
        HuskLib.Content.content = this.Content;
    }

    protected override void Initialize ()
    {
        regBatch = new SpriteBatch(graphics.GraphicsDevice);

        Window.Title = title;

        pixel = new Texture2D(graphics.GraphicsDevice, 1, 1);
        pixel.SetData<Color>(new Color[1]{Color.White});
    }
}
公共级外壳:游戏
{
公共图形副管理员图形;
公共SpriteBatch regBatch;
公共世界;
公共静态纹理2D像素;
字符串标题;
public外壳(string Title=“”)/:base()似乎可以减少所需的运行时间。
{
头衔=头衔;
graphics=新的GraphicsDeviceManager(此);
HuskLib.Content.Content=此.Content;
}
受保护的覆盖无效初始化()
{
regBatch=新的SpriteBatch(graphics.GraphicsDevice);
Window.Title=标题;
像素=新纹理2d(graphics.GraphicsDevice,1,1);
像素.SetData(新颜色[1]{Color.White});
}
}

我没有在游戏中使用任何线程,它可能是通过Monogame外部执行的

您正在使用的库之一是抛出分段错误(SIGSEGV)

我还在堆栈跟踪中看到,您似乎正在使用线程

我最好的猜测(没有看到任何源代码)是多个线程处于竞争状态。有时,它们中的一个到达了一个点,期望数据被初始化,但该数据尚未初始化


如果您粘贴相关源代码,您可能会得到更详细的帮助。

我的游戏中没有使用任何线程,可能会在Monogame中使用一些线程。源代码的哪些方面与此错误相关?初始化游戏变量的代码将是一个很好的启动位置。您可以在调试器中运行此代码,以便获得距离崩溃最近的行的源代码,从而可以查看当时哪些线程处于活动状态?此错误在通过Monodevelop的调试器运行时发生。没有指向的线。