Вопрос по jquery, javascript – Javascript Отладка построчно с помощью Google Chrome

42

Как пройти шаг за шагом мой код 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 просто переходит к следующей точке останова, не проходя каждую строку по очереди.

Вы также можете найти это полезным:How-to-terminate-script-execution-when-debugging-in-Google-Chrome gibberish
Когда у вас в основном проблемы? Когда вы нажмете исключения? 2-bits
Это звучит очень похоже наstackoverflow.com/questions/7827882/… rjmunro
stackoverflow.com/a/19032178/3408 выглядит как ответ, который вам нужен. rjmunro
По сути, у меня так много javascript, что я больше не вижу его структуру в своем уме, поэтому я просто хотел пройтись по своему собственному коду, чтобы напомнить себе, как все это работает, чтобы выяснить, где искать проблему ... oshirowanen

Ваш Ответ

2   ответа
75

Hit the F12 key Select the Scripts, or Sources, tab in the developer tools Click the little folder icon in the top level Select your JavaScript file Add a breakpoint by clicking on the line number on the left (adds a little blue marker) Execute your JavaScript

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

F8 Continue: Will continue until the next breakpoint F10 Step over: Steps over next function call (won't enter the library) F11 Step into: Steps into the next function call (will enter the library) Shift + F11 Step out: Steps out of the current function

Update

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

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded oshirowanen
25

...How can I step through my javascript code line by line using Google Chromes developer tools without it going into javascript libraries?...

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

enter image description here

When you blackbox a source file, the debugger will not jump into that file when stepping through code you're debugging.

Больше информации:

Chrome: Blackbox JavaScript Source Files Firefox: Black box libraries in the Debugger
Error: User Rate Limit Exceeded

Похожие вопросы