Отладка Javascript по строкам с помощью Google Chrome

Как я могу пройти через код javascript по строкам с помощью инструментов разработчика Google Chromes, не входя в javascript-библиотеки?

Например, я сильно использую jQuery на своем сайте, и я просто хочу отлаживать jQuery, который я написал, а не javascript/jquery в библиотеках jquery. Как мне только пройти через свой собственный jquery/javascript и не перешагивать миллионы строк в библиотеках jquery?

Итак, если у меня есть следующее:

function getTabFrame() {
    $.ajax({
        url: 'get_tab_frame.aspx?rand=' + Math.random(),
        type: 'GET',
        dataType: 'json',
        error: function(xhr, status, error) {
            //alert('Error: ' + status + '\nError Text: ' + error + '\nResponse Text: ' + xhr.responseText);
        },
        success: function(data) {
            $.each(data, function(index, item) {
                // do something here
            });
        }
    });
}

если я помещаю точку останова в $.ajax({, если я начну отладку, когда она остановится, если я затем нажму F11, она будет прямо в библиотеки jQuery. Я не хочу, чтобы это произошло, я хочу, чтобы он перешел к следующей строке, которая url: 'get_tab_frame.aspx?rand=' + Math.random(),.

Я попытался нажать F10 вместо этого, но это идет прямо к закрытию } функции. И F5 просто переходит к следующей точке останова, не перешагивая каждую линию по очереди.

Ответ 1

Предполагая, что вы работаете на машине Windows...

  • Нажмите клавишу F12
  • Выберите вкладку Scripts или Sources в инструментах разработчика
  • Щелкните значок маленькой папки на верхнем уровне
  • Выберите ваш файл JavaScript
  • Добавьте точку останова, нажав на номер строки слева (добавляет маленький синий маркер)
  • Выполните свой JavaScript

Затем во время выполнения отладки вы можете сделать несколько шагов шага...

  • F8 Продолжить: будет продолжаться до следующей точки останова
  • F10 Шаг: шаг за вызовом следующей функции (не будет) введите библиотека)
  • F11 Шаг в: Выполняется следующий вызов функции ( будет войдите в библиотеку)
  • Shift + F11 Вывод: шаги из текущего Функция

Обновление

После прочтения обновленного сообщения; для отладки кода я бы рекомендовал временно использовать исходный код разработки jQuery. Хотя это не позволяет решить вашу проблему напрямую, это позволит вам легче отлаживать. Для того, что вы пытаетесь достичь, я считаю, что вам нужно будет войти в библиотеку, поэтому, надеюсь, производственный код должен помочь вам расшифровать то, что происходит.

Ответ 2

... Как я могу выполнить код javascript по строкам с помощью инструментов разработчика Google Chromes, не входя в javascript-библиотеки?...


Для записи: В это время (февраль/2015) и Google Chrome и Firefox имеют именно то, что вам (и мне) нужно избегать входить в библиотеки и скрипты, и выходить за рамки кода, который нас интересует, он называется Black Бокс:

enter image description here

Когда вы черная копия исходного файла, отладчик не будет файл при выполнении кода, который вы отлаживаете.

Дополнительная информация:

Ответ 3

Существуют различные типы точек останова, которые вы можете использовать, например: при любом событии или мониторинге функции или изменении DOM и т.д.

Посетите https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints для получения дополнительной информации.