web-dev-qa-db-ja.com

変数値の変更でブレーク

ここでの他の質問と同様に、 このような

JavaScriptデバッガーで変数値の変更を中断する方法はありますか? (IE開発者ツール、Visual Studio、Firebugなど)?

「監視変数」のようなものだと思いますが、実際に変数の変更が発生したときにコールスタックを表示して一時停止できるようにしたいのです。

別の方法としては、カスタムセッターで値の設定をオーバーライドし、その中にブレークポイントを設定することもできますが、残念ながらIE AFAIKでは機能しません。

[〜#〜] update [〜#〜]このタイプの動作は、少なくともアンマネージコードで利用可能です C++で記述 だから、C++(GoogleのV8)で書かれたjavascriptエンジンは似たようなものを持っているかもしれないと思ったが、それも私が望むものを持っているようには見えない。

42
user420667

IDEも必要ありません-"Object.watch()"を使用できます:

Object.Watchチュートリアル

いずれかのデバッガーを使用する場合、Firebugを強くお勧めします。 Javascript、HTML、CSSのすべてのニーズについて:-):

http://getfirebug.com/javascript

19
paulsm4

Chromeでこのライブラリを使用して成功しています。すべての主要なブラウザをサポートするようです。

https://Gist.github.com/eligrey/38458

.jsファイルを含めるだけで、次を呼び出します。

yourObject.watch('someProperty', function() { 
    doWhatYouWant(); 
    debugger; 
    console.write('this too'); 
    alert('Object Changed'); //etc 
});
10
rainabba