デバッグとMDA

かなり昔、日記でVisual Studio 2005(当時はβ1かβ2)のデバッグが重くてやってらんない、というエントリを書いたことがあった。その後RC、RTMと程々に軽くなったこと、Edit and Continueを切ると更に軽くなったこともあり、「こんなもんなんだろう」とあまり気にしなかったのだが、NyaRuRuさんのエントリを読んで納得した。

MDA pInvokeStackImbalance の無効化 ― CLR 2.0 でのデバッグ実行 (2)/ NyaRuRuの日記

Managed Debugging Assistants、略してMDA。こんな機能なんて、あったことも知らなかった。ということでMSDN調べていたら、日本語に訳されたページもちゃんとあった。

マネージ デバッグ アシスタントによるエラーの診断/ .NET Framework 開発者ガイド

私ももちろんMDAはOffにしたが、予想通り、デバッグはかなり軽く実用的になった。こういうことを書くと、また「フィードバックしておくことです」と言われるだろうが(むろんフィードバックするし、でもここにも書く)、これだけパフォーマンスヒットが大きい機能なのであれば、もう少し前面に押し出すと共に、VSHOSTのようにに、開発環境から簡単に機能を切れる手段があって欲しかった。それに、いちいちApplicationName.mda.configに書くのは面倒過ぎる。せめて、IDE上でOn/Offすることで、隠しファイル等を自動的に作るべきだろう。