Чи можу я сказати налагоджувачу сценаріїв Chrome ігнорувати jquery.js?


98

Чи є спосіб сказати налагоджувачу Chrome (або, можливо, Firebug?) Не порушувати роботу певних файлів? Припустити, що вони не зламані, по суті? Це здається чимось, що вони могли б вбудувати.


3
Це було б особливо корисно для мене в контексті подій jquery. Коли ініціюється подія, вам доведеться пройти через багато грубого, щоб зрозуміти, які обробники викликаються.
tofarr

Здається, ви повинні позначити jfriend00 як відповідь. Я не міг знайти причину такої надокучливої ​​поведінки, і його відповідь це вирішила.
OrPaz

@OrPaz Я не згоден, моя проблема (і моє розуміння проблеми Джоша) полягає в тому, що ми налагоджуємо наш файл, однак це не означає, що виникає виняток. Я припускаю, що проблема полягає в моєму коді, а не в jQuery, тому я ніколи не хочу налагоджувати jQuery. Я думаю про це як про DebuggerHiddenAttribute у .NET
Натан Куп

Я проголосував відповідь jfriend00, оскільки це може бути цінним для людей, які стикаються з цим питанням, але я не позначив його як правильну відповідь, оскільки Натан Куп має рацію, це не вирішує моєї проблеми.
Джош Шульц,

Відповіді:


47

Файли JS для Blackboxing тепер можливі у Firefox https://developer.mozilla.org/en-US/docs/Tools/Debugger

А в Chrome Canary за допомогою інструментів Experimental Dev. http://www.divshot.com/blog/tips-and-tricks/ignoring-library-code- While-debugging-in-chrome/

Оновлення . У Chrome v. 75 є вкладка separabe для чорного боксу.

Вище працює і в стабільній збірці Chrome, і зараз.


7
Схоже, Blackboxing не змушує налагоджувач пропускати файл. Це все одно буде проходити через виклики своїх функцій ... Повністю ігнорувати файл було б непогано.
Антоніо Брандао

4
У цьому полягає сенс у чорному боксі - запуск коду, не бачачи його вмісту.
дійневала

1
Це не чорний бокс, коли ви просто не перебираєте інші бібліотеки, не те, що вони не існують або не використовуються.
Джонні,

оновлене посилання для firefox: developer.mozilla.org/en-US/docs/Tools/Debugger/How_to/…
pcarvalho

31

Остання версія Chrome реалізувала нову функцію чорного ящика, яка робить саме те, що ви шукаєте. По суті, якщо ви встановите параметр чорного ящика для даного файлу, це не дозволить налагоджувачу Chrome проникнути у цей файл.

Ця функція вбудована, і її можна встановити за допомогою контекстного меню файлу (клацніть правою кнопкою миші). Це також буде працювати, якщо налагоджувач Chrome налаштовано зупиняти на всіх винятках.


2
дуже чисте рішення Не потрібні плагіни.
Джордж Ботрос

3
На жаль, більше не працює. Якщо встановлено прапорець "Призупинити вилучені винятки", а потім встановити чорний ящик jQuery, він все одно порушить винятки.
blackmamba

15

Якщо у вас проблема полягає в тому, що налагоджувач Chrome зупиняється на всіх винятках, навіть тих, що знаходяться всередині jQuery, тоді вам може знадобитися сказати Chrome робити паузу лише на незахоплених винятках, а не на всіх винятках. Коли на панелі сценарію в налагоджувачі, є значок у лівому нижньому куті вікна, який керує цим.


Врятував мене цим! Дякую! (+ 1)
OrPaz

12

У Chrome відкрийте Інструменти розробника, потім перейдіть до Налаштування, і ви побачите вкладку Blackbox :

Chrome Blackbox

У FireFox це ще простіше, просто клацніть око внизу файлу:

BlackFox FireFox


Ви щойно зробили моє життя небом! Дякую!
Не знаю

7
  1. Перейдіть до налаштування інструментів розробника та натисніть на вкладці Balckboxing на лівій панелі.
  2. Потім натисніть кнопку Додати шаблон і введіть jquery.js
  3. Закрийте та знову відкрийте інструменти розробника, тепер його пропущено!

2

Якщо налагоджувач підривається десь у файлах jQuery, ви можете потенційно обернути підозрювані дзвінки у try / catch, а потім викинути помилку у вашому власному catch. Таким чином, ви можете точно визначити, де ви помиляєтесь.

Я був би більш схильний робити сліди стека, щоб зрозуміти, чому мій код підривається, наприклад, недійсний JSON, ніж спробувати заглибити його.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.