jsfiddle'da js'de nasıl hata ayıklanır


95

Şu jsfiddle'a bakıyorum: http://jsfiddle.net/carpasse/mcVfK/ İyi çalışıyor, sorun bu değil, sadece javascript ile nasıl hata ayıklayacağımı bilmek istiyorum. Hata ayıklayıcı komutunu kullanmayı denedim ve bunu kaynaklar sekmesinde bulamıyorum? bunu nasıl hata ayıklayabileceğime dair bir fikrin var mı?

kemantan bazı kodlar:

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

2
Sözcüğü debugger;koda ekleyin . Chrome ve Firefox otomatik olarak bir adım adım hata ayıklayıcı açar! (Daha belirgin hale getirmek için @ user3335908'in cevabından bu ipucunu kopyaladım)
Will Sheppard

Yanıtlar:


54

JavaScript, Chrome'un Kaynaklar sekmesinin fiddle.jshell.net klasöründen yürütülür. Aşağıdaki Chrome ekran görüntüsünde gösterilen dizin dosyasına kesme noktaları ekleyebilirsiniz.

Chrome'da JSFiddle Hata Ayıklama

görüntü açıklamasını buraya girin


9
bu benim için hiçbir şey göstermiyor. Boş bir dizin dosyası alıyorum
Oliver Watkins

1
@OliverWatkins benim için de boştu, üstteki "Güncelle" ye tıklayarak bunu düzelttim, sonra tekrar çalıştırdıktan sonra fark ettim, geliştiriciler araç panelindeki Kaynaklar sekmesinde, "jsfiddle.net" altında, ardından adlandırılmış klasörüm altında , kodu gösteren başka bir dizin dosyası içeren fazladan bir dizin vardı. Bu yardımcı olur umarım!
MilesMorales

Fiddle.jshell.net altında (indeks) olan 3. bir klasörüm var. Bunu açarsam, içinde js'nin gömülü olduğu bir html dosyası var. (bunu yazdığım 48. satırda)
John MacIntyre

fiddle.jshell.netsadece içinde _displayile içerir (index), bu da neredeyse boş bir HTML sayfasıdır <p>That page doesn't exist.</p>.
JS kodum

36

Koddaki debugger;ifadeyi kullanın . Tarayıcı bu ifadeye bir kesme noktası ekler ve tarayıcının hata ayıklayıcısına devam edebilirsiniz.

Bu en az chrome ve firefox'ta çalışmalıdır. 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'});
}]);

Bu en iyi cevap!
vibs2006

6

Söylemeye değer bir şey. Hiç chrome geliştirme araçları kullanıyorsanız. ctrl+ shift+ ' FYa basın ve kaynaktaki tüm dosyalar arasında arama yapabilirsiniz.


2
Bu çok kullanışlı, Mac'te Cmd + Alt + F
John W. Clark

Bu çok daha iyi bir cevap olabilir, ancak bu şekilde bulduğunuz kodda ayarlanan kesme noktaları dikkate alınmayacaktır.
Slbox

Ben kaynak ağacında görünmüyor bir dosyada kod bulabildiğim bu ipucu için Thx ...
GarfieldKlon

3

Diğer cevaplara ek olarak.

Çoğu zaman, hata ayıklama bilgilerini konsola yazmak yararlıdır:

console.log("debug information here");

Çıktı, tarayıcıların geliştirici araçları konsolunda mevcuttur. Her zamanki javascript kodundan kaydedildiği gibi.
Bu oldukça basit ve etkilidir.


3

Koda bir hata ayıklayıcı ifadesi eklemek ve tarayıcıda "Geliştirici Araçları" nı etkinleştirmek. Daha sonra kodu JSFiddle'da çalıştırdığınızda, hata ayıklayıcıya vurulacak !.


0

İşte başka bir yer :)

Jsfiddle.netDüğümün altında .

görüntü açıklamasını buraya girin


Bu, sayfada gösterilen kaynak kodunu <pre>... ile çevrelenmiş gibi görünüyor </pre>. Gerçek bir çalıştırılabilir kod değildir.
CygnusX1

Bu kodda hata ayıklayamazsınız. Yapamayacağın bir ipucu, eksik vurgulama ...
GarfieldKlon

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.