DTP駆け込み寺

No.13848へ返信

記事投稿フォーム
補助
送信

[ 返信 ]

Re^5: 範囲選択すると動作しません

> エラーが起きた時の対処の仕方(所謂デバッグ)が始めたばかりでよく分からないのです。scriptを公開しているサイトを見て勉強してますが、デバッグのやり方がのってないので

http://d.hatena.ne.jp/kamiseto/20090929/1254233039
から
http://d.hatena.ne.jp/kamiseto/20091001/1254414824
http://d.hatena.ne.jp/kamiseto/20091007/1254926047
まで、ちと尻切れトンボ感がありますがw だいじな事が書かれています。
Javascriptコンソールとデータブラウザが肝、というのはホントです。

うまく動かない処理の前後にブレークポイントを設置し、実行するとそこで一旦止まるのでデータブラウザを見る。
すると宣言してある変数やらが並んでいるので値を参照する、
上でも書きましたが、変数の挙動を見ましょう。
obj[i].hoge(); のとき、iの値が予想どおりか確認してください。
いいとこで止めてデータブラウザで見るもよし、
alert(i); obj[i].hoge; を挟んで、iの値をアラート表示させるもよし、

for (var h = 0 ; h < selObj[j].graphicLines.length ; h ++) {
$.writeln("j="+j+", h="+h);
selObj[j].graphicLines[h].strokeWeight = 0.1 ;
}
と書いておけば、Javascriptコンソールに
j=0, h=0
j=1, h=0
j=2, h=0
.....
とづらづら出ます。
データブラウザ上でselObj[i]のプロパティを見る事はできませんが、
for(i=0; i<selObj.length; i++){
 myObj=selObj[i];
 $.bp(); //完成したらこの行は削除しないと殺される
 myObj.hoge();
 }
とやっておくとmyObjのプロパティを見る事が可能です。

だいたいこんな感じで自分の書きなぐったひどいスクリプトをアレしています。
参考になれば幸いです。

[13848] (z-) (2012/04/06 Fri 22:41)