- 書式
- breakpoint
概要
breakpoint
コマンドは
現在動作中のスクリプトを停止し、
対話的デバッグプロンプトを立ち上げます。
詳しくは、
Documentationのfishスクリプトのデバッグ
を参照してください。
パラメータは一切取りません。
訳注:実行例
原文には
まったく具体例がなくて不親切ですので、
こちらで具体例を加えました。
以下のように足し算を行う
簡単なfishスクリプトを用意します。
ファイル名は
breakpoint1.fish
にします。
まずはbreakpointは
コメントアウトして
実行されないようにします。
#!/usr/bin/fish echo Starting script... set a 1 set b 2 # breakpoint printf "%d + %d = %d" $a $b (expr $a + $b) echo $c
実行すると
$ ./breakpoint1.fish Starting script... 1 + 2 = 3
このように正しく表示されて終了します。
そこでbreakpointの行の
コメントアウト(#)を
外してから実行します。
「Starting script...」で
実行が停止します。
$ ./breakpoint1.fish Starting script...
プロンプトが変わらないので
わかりづらいですが、
確かに実行は停止しています。
この段階で
スクリプトで使われている
変数を参照・変更できます。
その他
任意のfishのコマンドを実行できます。
$ echo $a $b 1 2 $ set b 9999 $ # Ctrl+D 1 + 9999 = 10000 $
bの値を書き換え、実行を終了しました。
以下のように
関数ローカルな変数 を含む場合でも
同様に動作します。
#!/usr/bin/fish echo Starting script... function func set -l a 1 set -l b 2 breakpoint printf "%d + %d = %d" $a $b (expr $a + $b) echo $c end func
fishスクリプトの動作がおかしいときは是非ともbreakpointを使ってください。
最後までお読みいただき、ありがとうございました。参考になれば嬉しいです。