Ubuntu MonogameLinux在发布时崩溃
当从Linux(Ubuntu12.04)启动一个单游戏游戏时,我在控制台中遇到以下错误 当我延迟任何逻辑发生直到一定的游戏时间过去时,这个错误不会发生,但是所需的游戏时间不断变化,而且太长了。有没有办法解决这个错误消息是什么 代码:初始化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;
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的调试器运行时发生。没有指向的线。