追加案: デバッガでブレークポイントを設けられるようにする
Issue #221
new
表題通りですがいくつか課題があります。
- 実行中でないイベントを選択して開けなければならない
- 設けたブレークポイントをどのように記録するか。CWXパスで記録すると、実行時に1コンテント毎にCWXパスの探索が発生し、実行時間の障害にならないか(デバッグに不可欠なコストとして許容するか?)。
Comments (10)
-
-
reporter アイデアありがとうございます。助かります。
たしかにそうした機能があるとありがたいですね。能力判定系のシナリオの解析で散々苦労した身でなぜ思いつかなかったのか不思議なくらいです。
状態ファイルへの保存も含めて実現を目指したいです。
-
reporter - changed milestone to 0.12.4
-
reporter とりあえずシンプルなブレークポイントを設けられるようにしました。
以下が未実装です。
- シナリオごとにブレークポイントを保存できるようにする→状態の保存機能を使うか、あるいは別に保存するべきか?(状態のロードを行うと現在の実行状況も変わってしまうので)
- メニュー(アクセラレータキー付き)からブレークポイントを設定する。現状キーボードで設定する手段がない
- 全てのブレークポイントをクリアする機能
- ブレークポイントを一時無効にするスイッチ
- 七篠氏提案による条件付きブレークポイント
-
reporter デバッガを非表示にすれば自動的に無効になるので、一時無効のスイッチはいらないかもしれません。
-
reporter デバッグの手順を考えると、宿ごとよりはエンジン全体でシナリオごとにブレーク情報を保存した方がよさそうです。
また、JPDCイメージのようにブレークポイント情報のあるシナリオを一覧表示し、シナリオごとにまとめて削除する機能も必要です。
-
reporter pull request #955
とりあえず保存するようにしました。削除機能はまだ。
-
reporter メニューとクリア機能を追加。以下が未着手です。
- ブレークポイントを一時無効にするスイッチ
- 七篠氏提案による条件付きブレークポイント
-
reporter - removed milestone
条件付きブレークの、条件部分のデータをどのように保存するかで悩んでいます。将来変数同士で演算を行えるようにした時の流用に耐えるような形式で保存した方がいいと考えていて、例えば以下のように式をそのまま保存する形式が考えられます。
<Expression>Step["ステップA"] = 5</Expression>
この方式でデータを保存して機能を実現するには式の構文解析を行う必要がありますが面倒です。
とりあえずブレークポイント機能をつけるという最初の目標は達成しているので、目標マイルストーンを外します。
-
reporter 条件部分に式(issue
#400)が使えます。 - Log in to comment
ブレークポイント敷設の際に、条件つきブレークポイントと言うのは可能でしょうか?
つまり、
デバグ窓より保存できる状態ファイルに書き出された状態から発動条件を流用できたりすれば 状態ファイルを提供してもらい解析に当てるといった、デバッグの強力な武器になると思います。