2010-05-22 71 views
2

好吧,这看起来像一个愚蠢的问题,因为MonoDevelop越来越成熟,所以我确信我只是想念它,但我环顾四周,关于这个问题的所有问题似乎是关于远程调试或调试苹果电脑。MonoDevelop调试?

我使用的是Ubuntu 10.04 Lucid Lynx,我刚刚从软件中心安装了MonoDevelop 2.2.1。 我创建了一个GTK#2.0项目,添加了一些小部件和代码,一切似乎运行良好。然后我添加了一个断点,它出现在我的断点窗口中,它表示它是活动的,但断点从来没有实际命中(停止执行并将我拉入调试器)。

我处于调试x86模式,所以我无法弄清楚发生了什么。

任何人有这种情况/知道该怎么办?

回答

0

安装了哪些版本的Mono运行时和调试器?我在Windows下试用了monodevelop 2.2 + mono 2.6 + debugger 0.0.0,它的工作方式与预期相同。这里是从单声道的网站上的报价,这可能会有所帮助:

单声道带有两个单特异性调试器:硬调试器和软调试器,此外,还可以使用Unix GDB调试器和Mono调试低水平问题

...

软调试器:

...

月光,ASP.NET,GTK#,iPhone和远程调试支持

也许问题出在代码中?你是什​​么意思:

...(停止执行并将我拉入调试器)。

+0

我的意思是击中断点的常见经验。代码执行暂停,IDE窗口拉起,您可以检查变量的值,一次向前推进代码1行,或者点击运行并恢复运行,等等。这些都不会发生,它只是继续运行如果断点不在那里。 我不确定版本,我刚从软件中心获得MD 2.2.1。我是否需要单独安装调试器? – LoveMeSomeCode 2010-05-24 12:52:21

+0

您可以在帮助 - > about->版本信息选项卡下查看各种组件的版本。用你提供的所有信息来调查你的问题是相当困难的。我在Ubuntu Linux上使用了Monodevelop,调试器过去只是开箱即用。 – n535 2010-05-24 13:28:46

2

要检查您是否安装了调试器,只需检查“运行”菜单是否包含“调试”命令。

你应该知道,Ubuntu发布了一个相当旧版本的Mono(2.4),它没有内置的“sdb”调试器,其版本的MonoDevelop 2.2被修补以去除sdb接口。要获得半功能调试,请安装旧的“mdb”调试器 - 单调试器和monodevelop-debugger-mdb软件包IIRC。

为了获得最佳的调试体验(sdb),您需要Mono 2.6+和未经修改的MonoDevelop 2.2+。如果您决定从源代码构建Mono,请首先阅读thisthis。或者,您可以使用openSUSE,它提供最新的Mono和MonoDevelop软件包。

3

我遇到了同样的问题(同样在Ubuntu 10.04上),发现有一种黑客正在为我工​​作。不要在IDE中设置断点(通过单击侧面或点击F9),可以调用代码中要断开执行的System.Diagnostics.Debugger.Break()方法。做完这些之后,我可以遍历代码,使用直接窗口等。显然,这不是一个很好的解决方案,但至少它是一些东西。

+0

我在同一条船上。 Ubuntu 10.04,单声道运行时2.6.3-2〜dhx1,单声道开发2.4+和看到完全相同的东西。但是你的解决方法适用于我。谢谢! +1 – rotard 2010-07-09 05:38:31

+0

实际上,今天它似乎不再工作...... – rotard 2010-07-10 00:44:56