cách gỡ lỗi js trong jsfiddle


95

Tôi đang xem jsfiddle này: http://jsfiddle.net/carpasse/mcVfK/ Nó hoạt động tốt đó không phải là vấn đề, tôi chỉ muốn biết cách gỡ lỗi thông qua javascript. Tôi đã cố gắng sử dụng lệnh trình gỡ lỗi và tôi không thể tìm thấy nó trong tab nguồn? bất kỳ ý tưởng làm thế nào tôi có thể gỡ lỗi này?

một số mã từ fiddle:

angular.module('app', ['appServices'])
    .config(['$routeProvider', function($routeProvider) {
        $routeProvider.
                when('/home', {templateUrl: 'home.html',   controller: HomeCtrl}).
                when('/list', {templateUrl: 'list.html',   controller: ListCtrl}).
                when('/detail/:itemId', {templateUrl: 'detail.html',   controller: DetailCtrl}).
                when('/settings', {templateUrl: 'settings.html',   controller: SettingsCtrl}).
                otherwise({redirectTo: '/home'});
}]);

1
Chèn từ debugger;vào mã. Chrome và Firefox sẽ tự động mở trình gỡ lỗi từng bước! (Tôi đã sao chép mẹo này từ câu trả lời của @ user3335908 để làm cho nó nổi bật hơn)
Will Sheppard vào

Câu trả lời:


53

JavaScript được thực thi từ thư mục fiddle.jshell.net của tab Nguồn của Chrome. Bạn có thể thêm các điểm ngắt vào tệp chỉ mục được hiển thị trong ảnh chụp màn hình Chrome bên dưới.

Gỡ lỗi JSFiddle trong Chrome

nhập mô tả hình ảnh ở đây


9
điều này không hiển thị gì cho tôi. Tôi nhận được một tệp chỉ mục trống
Oliver Watkins

1
@OliverWatkins nó cũng trống đối với tôi, tôi đã sửa lỗi này bằng cách nhấp vào "Cập nhật" ở trên cùng, sau đó tôi nhận thấy sau khi chạy lại, trong tab Nguồn trong bảng công cụ dành cho nhà phát triển, trong "jsfiddle.net", sau đó trong thư mục được đặt tên của tôi , có một thư mục bổ sung với một tệp chỉ mục khác hiển thị mã. Hi vọng điêu nay co ich!
MilesMorales

Tôi có một thư mục thứ 3 trong fiddle.jshell.net cũng có (chỉ mục). Nếu tôi mở nó, có một tệp html với js được nhúng trong đó. (trên dòng 48 khi tôi viết điều này)
John MacIntyre

fiddle.jshell.netchỉ chứa _displayvới (index)bên trong, là một trang HTML gần như trống rỗng với <p>That page doesn't exist.</p>. Mã js của tôi là không có
CygnusX1

35

Sử dụng debugger;câu lệnh trong mã. Trình duyệt sẽ chèn một điểm ngắt tại câu lệnh này và bạn có thể tiếp tục trong trình gỡ lỗi của trình duyệt.

Điều này sẽ hoạt động ít nhất trong chrome và firefox. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/debugger

angular.module('app', ['appServices'])
.config(['$routeProvider', function($routeProvider) {
    // *** Debugger invoked here
    debugger;
    $routeProvider.
            when('/home', {templateUrl: 'home.html',   controller: HomeCtrl}).
            when('/list', {templateUrl: 'list.html',   controller: ListCtrl}).
            when('/detail/:itemId', {templateUrl: 'detail.html',   controller: DetailCtrl}).
            when('/settings', {templateUrl: 'settings.html',   controller: SettingsCtrl}).
            otherwise({redirectTo: '/home'});
}]);

Đây là câu trả lời tốt nhất!
vibs2006

6

Điều đáng nói. Nếu bạn đang sử dụng các công cụ dành cho nhà phát triển chrome. Nhấn ctrl+ shift+ Fvà bạn có thể tìm kiếm qua tất cả các tệp trong nguồn.


2
Đó là rất tiện dụng, trên Mac nó là Cmd + Alt + F
John W. Clark

Đây sẽ là một câu trả lời tốt hơn nhiều, nhưng các điểm ngắt được đặt trên mã mà bạn tìm thấy theo cách này sẽ không được chấp nhận.
Slbox

Với gợi ý này, tôi có thể tìm thấy mã trong một tệp không xuất hiện trong cây nguồn ...
GarfieldKlon

3

Ngoài các câu trả lời khác.

Thông thường, rất hữu ích chỉ cần ghi thông tin gỡ lỗi vào bảng điều khiển:

console.log("debug information here");

Đầu ra có sẵn trong bảng điều khiển công cụ dành cho nhà phát triển trình duyệt. Giống như nó đã được đăng nhập từ mã javascript thông thường.
Cách này khá đơn giản và hiệu quả.


3

Thêm câu lệnh gỡ lỗi trong mã và bật "Công cụ dành cho nhà phát triển" trong trình cung cấp. Sau đó, khi bạn đang chạy mã trong JSFiddle, trình gỡ lỗi sẽ bị tấn công !.


0

Đây là một nơi khác :)

Dưới Jsfiddle.netnút.

nhập mô tả hình ảnh ở đây


Điều này dường như cointain mã nguồn được hiển thị trên trang web, bao quanh với <pre>... </pre>. Nó không phải là một mã thực sự có thể chạy được.
CygnusX1

Bạn không thể gỡ lỗi mã này. Một gợi ý mà bạn không thể thiếu đó là điểm nhấn bị thiếu ...
GarfieldKlon

0

JavaScript được thực thi từ tệp ?editor_console=truetrong thư result (fiddle.jshell.net)/fiddle.jshell.net/_displaymục thư mục của tab Nguồn của Chrome khi sử dụng công cụ phát triển. Sau đó, bạn có thể thêm các điểm ngắt vào mã của mình và làm mới trang. nhập mô tả hình ảnh ở đây

Bạn có thể tìm thêm thông tin về cách sử dụng trình gỡ lỗi chrome tại Cố gắng gỡ lỗi Javascript trong Chrome

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.