設定していないブレイクポイントで止まってしまう問題について

4,428 views
Skip to first unread message

Nori Hamamoto

unread,
Mar 16, 2012, 7:42:52 PM3/16/12
to chrome-api-d...@googlegroups.com
こんにちは

Chrome で Web アプリを開発中にしばしば起こるのですが、
Inspector を開いていると、ブレイクポイントを設定していない箇所で JavaScript の実行が止まってしまうことがあります。
特に、jquery.min.js の中で止まってしまったりすることがあります。
しかも、一度起こり始めると、存在しないブレイクポイントで止まるため解除のしようが無く、
しょうがないので、一度 Inspector を閉じて、再び開くという手順を踏まなければなりません。

これは、Chrome でも、Chromium でも同じように起こります。
回避方法としては、Crhome のプロファイルを作ってそちらで作業すると真っ更な状態から Chrome を使用できるため、
ブレイクポイントも全く無い状態で開発を始められます。
しかし、これはあまりにもオーバーヘッドが大きい回避方法かと思われます。

この問題について情報をお持ちの方いらっしゃいましたら、教えていただけたらと思います。
よろしくおねがいします。
no...@firedictionary.com

Shogo Ohta

unread,
Mar 18, 2012, 12:45:05 PM3/18/12
to chrome-api-d...@googlegroups.com
こんにちは、太田です。

念のため確認なのですが、JavaScriptの例外が発生した時にブレイクするオプションが有効になっているというわけではないということで良いでしょうか?
try catchしていてもブレークする設定、catchされている例外ではブレークしない設定、全くブレークしない設定があり、1つ目になっているとjQueryの内部でよくブレークします。

> 回避方法としては、Crhome のプロファイルを作ってそちらで作業すると真っ更な状態から Chrome を使用できるため、

これよりは、楽ができそうな回避方法を一応ご紹介します。ただ、安全な方法ではないので自己責任でお願いいたします。

Chromeのユーザーデータが保存されている場所(※)のなかのLocal Storageディレクトリのなかに、
chrome-devtools_devtools_0.localstorage というファイルがあると思います。
このなかにブレークポイントなどのDevToolsの設定などが保存されており、これはSQLite形式なので、一般的なSQLite
Viewerなどで開くことができます。
ブレークポイントの設定はこのなかのbreakpointsというレコードに保存されているはずです。
(あくまで自己責任において)、このレコードを削除して再起動すればブレークポイントの設定をすべてリセットできるようです。
あまり勧められる方法ではないですが、プロファイルを作り直すよりは楽かと思います。

※ユーザーデータの保存場所
WindowsXP: \Documents and Settings\username\Local Settings\Application
Data\Google\Chrome\User Data\Default
Windows7: \Users\username\AppData\Local\Google\Chrome\User Data\Default
Mac: ~/Library/Application Support/Google/Chrome/Default

以上、参考になれば幸いです。

--
太田昌吾 <os0...@gmail.com>

2012年3月17日8:42 Nori Hamamoto <nori...@gmail.com>:

> --
> このメールは Google グループのグループ「Chrome API Developers JP」の登録者に送られています。
> このグループに投稿するには、chrome-api-d...@googlegroups.com にメールを送信してください。
> このグループから退会するには、chrome-api-develop...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/chrome-api-developers-jp?hl=ja からこのグループにアクセスしてください。

Nori Hamamoto

unread,
Mar 19, 2012, 5:38:44 PM3/19/12
to chrome-api-d...@googlegroups.com
太田さん
ご回答ありがとうございます。

例外発生時のブレイクオプションというのは、以下のボタンのことでしょうか?
http://goo.gl/AkSaj

今気がついたのですが、これが水色になっていました。
これをクリックしいてボタンを灰色にした所、jQueryの中で実行が止まらなくなりました。
こんなオプションが有ったんですね。知りませんでした。

ブレイクポイントの情報が入っているSQLite ファイルの方もありがとうございます。
今後何か有った時に、そっちも確認してみたいと思います。

ありがとうございました。
Nori Hamamoto
no...@firedictionary.com


2012/3/18 Shogo Ohta <os0...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages