2013-10-18 16 views
80

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

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'}); 
}]); 
+0

Chèn từ 'trình gỡ lỗi;' vào mã. Chrome và Firefox sẽ tự động mở trình gỡ rố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 nổi bật hơn) –

Trả lời

40

JavaScript được thực hiện từ thư mục fiddle.jshell.net của tab Nguồn Chrome. Bạn có thể thêm đ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.

Debugging JSFiddle in Chrome

enter image description here

+6

điều này không hiển thị cho tôi. Tôi nhận được một tệp chỉ mục rỗng –

+1

@OliverWatkins nó trống cho 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 tôi chạy lại, trong tab Nguồn trong bảng công cụ nhà phát triển, trong "jsfiddle.net ", sau đó theo thư mục có 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

+0

Tôi có một thư mục thứ 3 dưới fiddle.jshell.net trong đó có (chỉ mục) là tốt. Nếu tôi mở nó, có một tập tin html với các js được nhúng trong nó. (trên dòng 48 khi tôi viết bài này) –

3

Bên cạnh những câu trả lời khác.

Rất thường nó rất hữu ích chỉ ghi thông tin gỡ lỗi vào giao diện điều khiển:

console.log("debug information here"); 

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

2

Đây là một địa điểm khác :)

Dưới nút Jsfiddle.net.

enter image description here

3

Điều đáng nói đến. Nếu bạn đã từng sử dụng công cụ chrome dev. Nhấn ctrl + shift + F và bạn có thể tìm kiếm trong tất cả các tệp trong nguồn.

+2

Điều đó rất tiện dụng, trên máy Mac là Cmd + Alt + F –

12

Sử dụng câu lệnh debugger; trong mã. Trình duyệt 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ỡ rố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'}); 
}]); 
+0

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

+0

Điều này thực sự tuyệt vời –

Các vấn đề liên quan