抜けてた

fdbPlugin0.2.4.0(おそらく以前のバージョンでも)でメニューから「Clear Breakpoints」を選択すると止まってしまう。
ブレークポイントの設定が変化すると呼ばれるイベントのパラメータlineにブレークポイントを設定、削除した行が入っているが「Clear Breakpoints」でブレークポイントがクリアーされる場合はline=-1となる。しかし、line>=0の場合しかfdbPluginが対応していなかったのが原因の模様。

fdbPlugin0.2.2.0, 0.2.3.0に致命的バグ発見

fdbPlugin0.2.2.0, 0.2.3.0でデバッグ停止後にマウスポインタを変数上にもっていくと下のエラーが出る。その後はFlashDevelopを再起動しないとデバッグを開始できない。

StandardIn がリダイレクトされていません。

場所 System.Diagnostics.Process.get_StandardInput()
場所 fdbPlugin.FdbWrapper.writeStartCommand(String cmd)
場所 fdbPlugin.FdbWrapper.inputCommad(String cmd, String start_endCmd)
場所 fdbPlugin.PluginMain.Manager_OnMouseHover(ScintillaControl sender, Int32 position)
場所 PluginCore.Controls.UITools.MouseHoverHandler.Invoke(ScintillaControl sender, Int32 position)
場所 PluginCore.Controls.UITools.HandleDwellStart(ScintillaControl sci, Int32 position)

原因はデバッグ停止後の状態管理のミス。そのためデバッグが終了したあとでも変数の中身を表示しようとしてエラーになっていた。

fdbPluginのパッチを送った

id:kankan18:20080512のメールの返信にfdbPluginのポーズ機能は正規表現を修正したらうまく動いているとあった。
fdbPlugin0.1.1.0->0.2.2.0の変更分のパッチを作成して送った。変更点は以下。

  • 例外がでた時はメッセージをoutput panelに出力する
  • 例外のダイアログを前面に移動させる
  • 選択したファイルが".mxml"の場合でもブレークポイント設定可能にする
  • デバッグ開始時にビルドされたファイルがない場合、ビルドを必ず開始する
  • メニューとツールバーの使用可、不可の設定
  • 設定のDebugFlashPlayerPathが変更不可だったのを修正

fdbPlugin0.2.3.0公開

プロジェクトからファイルを削除すると下のような例外が出ていたのを修正した(SVNは大丈夫)

fdbPlugin.PluginMain.HandleEvent(Object sender, NotifyEvent e, HandlingPriority prority)
PluginCore.Managers.EventManager.DispatchEvent(Object sender, NotifyEvent e)

ダウンロードはここから。