bug #9150

Xamarin Studio v4.0.3*1とXamarin.iOS v6.3.0.255の組み合わせで突然デバッグできなくなってしまった。
症状としてはブレークポイントのところでブレークする瞬間にSystem.NotImplementedException例外が起きるようになった。
この組み合わせで数日間まったく問題がなかったのでまったく原因が推測できない。
しかしググるとまさしくこの問題がBugzillaに登録されていた。
幸いパッチが添付されていたのでこれを適用したMonoDevelopをビルドして該当DLLをXamarin Studioに導入してみることにした。

Monodevelop自体のビルド方法はここを参考にした。

既に最新のMonoFrameworkとXcodeはインストールしてあるので、まずgitからソースコードを取得。

cd ~
mkdir temp
cd temp
git clone git://github.com/mono/monodevelop.git
pushd monodevelop
<||
ソースコードが取得できたらパッチを適用。次に以下のコマンドでビルド。
>||
export ACLOCAL_FLAGS="-I /Library/Frameworks/Mono.framework/Versions/Current/share/aclocal"
export PATH="/Library/Frameworks/Mono.framework/Versions/Current/bin:$PATH"
export DYLD_FALLBACK_LIBRARY_PATH=/Library/Frameworks/Mono.framework/Versions/Current/lib:/lib:/usr/lib
./configure --profile=mac
make

これでMono.Debugging.Soft.dllとMono.Debugging.Soft.dll.mdbができあがる。
この2つのファイルをXamarin Studio.appの中の同名ファイルと置き換えて問題が起きないことを確認した。

*1:v4.0.4.2でも同様だった