Ubuntu 9.04 で楽しみにしていたことのひとつに、オープンソース .NET 実装 mono の開発環境が MonoDevelop “2.0” と 2 系になることでした。 もちろん、コンパイルすれば 2.0 はどこにもで入るわけですが、やっぱり標準パッケージになっていると安心感が違います。 🙂
MonoDevelop 2.0 で注目していたのはデバッガが動作すること(1.0 ではできなかったのです)だったのですが、いっくらやってもうまくブレイクできません。。
[tegaki]しょぼん。。[/tegaki]
一応、インストールパッケージなどを確認して本日再挑戦してみました。 超簡単なプログラムにブレイクいれて、てい。
・・・。 さようなら。。
現象としては、だんまりしたままうんともすんともです。
こういうときはログを・・・。
## DebuggerServer started
Cannot read symbol file `/usr/lib/mono/2.0/mscorlib.dll.mdb':
Could not find file "/usr/lib/mono/2.0/mscorlib.dll.mdb".
WARNING: Got event 137f for unknown pid 15158
WARNING: Got event 137f for unknown pid 15159
はい? たしかに該当ファイルはないようです。 で、このログをたよりにバグを探していくと、ありました。
Mono – MonoDevelop IDE – error on debugger init (mscorlib.dll.mdb)
I think the problem is that you’re trying to use mono-debugger-2.0 which seems to be buggy. Use the SVN version, it works for me but the 2.0.
Bug #367232 in mono-debugger (Ubuntu): “mdb stops with "Got event 137f for unknown pid 8522"”
Binary package hint: mono-debugger
Hi, the mono-debugger in Jaunty has a serious bug in it, which prevents it from debugging.
This has to do with a race condition, which only appears with newer kernels.
Ubuntu のバグ登録日は 4/26 ということで、ついこの前ですね。
2.4 系の mono-debugger では修正されていることですが、Ubuntu は 2.0 系を使っているので修正するにはバックポートになりそうですが、はたして誰か拾ってくれるかどうか・・・。 どなたかお願い。。(笑)
ただ不思議なのは、ごちゃごちゃやったら一度だけうまくうごいたことがあるのです。。 なにかカーネルが絡んだ不具合のようなので難しい問題なのかもしれません。
まぁまぁうちの環境の不具合じゃないということが分かっただけでも収穫であります。 果報は寝て待て 🙂