読者です 読者をやめる 読者になる 読者になる

WebKitのデバッガが超絶便利になっている件

Safari WebKit

WebKitデバッガはDroseraという別アプリで提供されていましたが、つい最近(2008/05/16)本体とセットになるようになりました。

このデバッガがヤバイです。(画像でかくて自分のモニタでもはみ出してるけど気にしない)

  • 開発のWebインスペクタを開いてから、Scriptsを選択するとDebuggerを起動するか聞かれる

f:id:os0x:20080520194537p:image

  • Attach Debuggerをクリックすると左上に読み込んでるScriptがリストになっている。(eval script)となっているのはGreaseKitが実行するScriptの模様。

f:id:os0x:20080520194538p:image

  • GreaseKitのScriptもちゃんとソースが見えるし、

f:id:os0x:20080520194539p:image

  • 左下の蟻アイコンが青くなっているとエラー(?)のあった箇所でPauseする。右上にPausedと出ていて、この左のボタンでステップ実行とかが出来る。

f:id:os0x:20080520194541p:image

  • 右側にはローカル変数とクロージャで保持されている変数がスコープごとに区切られて見える。

f:id:os0x:20080520194540p:image

Greasemonkey Scriptのステップ実行や、スコープごとに区切って変数を表示してくれるのは私の知る限りWeb Inspector's debuggerだけ。WebKitGreasemonkey Scriptがものすごく開発しやすくなるので、またやりたいことが増えました。とりあえず、SafariLDRize、Minibufferが重いのはこれで解決できそうな気配です。

  • わからないこと
    • ブレークポイントの設定の仕方(現状できない?)
    • Pauseする条件もイマイチ
    • ところで、こいつの名前はWeb Inspector's debuggerでいいのかな?

なお、WebKit nightlyは開発版なので、おそらく(間違いなく?)不安定です。お試しは自己責任でお願いします。

追記

今日nightlyの33980入れてみたら、今度はProfilesタブが追加されて、consoleにprofileとprofileEndが追加されていました。
画像はoAutoPagerize、LDRize、Minibufferにconsole.profile入れてみたところ
f:id:os0x:20080522130722p:image