JavaScript: Chrome hata ayıklayıcı araçlarında Koşullu Kırılma Noktası nasıl ayarlanır


100

Sürekli olarak tarih yazdıran bu basit bir js dosyam var.

Google Chrome Hata Ayıklayıcı araçlarını (F12) kullanıyorum

Sorum şu, Google Chrome'da koşullu bir kırılma noktası ayarlamak mümkün mü?

Kodumda, saniye değeri 50'ye eşitse bir kırılma noktası ayarlamak istiyorum ??

s = date.getSeconds();

Bu benim kaynağımın olduğu jsfiddle

(Jsfiddle'da neden çalışmadığından emin değilim)

Her neyse, sorum şu, krom Hata Ayıklayıcı araçlarında Koşullu Kırılma Noktası Ayarlamak mümkün mü?


1
+1 çünkü bu soruyu yanıtlamak için belgelere bakmanın mümkün olduğunu bilmiyordum. Teşekkürler!
Theraot

Yanıtlar:


141

Evet mümkün.

Kesme noktasının işaretçisini sağ tıklayın ve "Kesme noktasını düzenle ..." seçeneğini seçin, orada koşulu ayarlayabilirsiniz.

Gönderen KRİTERE Chrome Geliştirici Araçları developers.google.com (Vurgu madeni) de:

Not: Ayarladığınız tüm kesme noktaları, sağ kenar çubuğunda Kesme Noktaları altında görünür. Girişe tıklamak, kaynak dosyada vurgulanan satıra atlar. Bir kesme noktası belirledikten sonra, bu kesme noktası için koşullu bir ifade ayarlamak için mavi etiket kesme noktası göstergesine sağ tıklayın . Bir ifade yazın ve kesme noktası yalnızca koşul doğruysa duraklatılır.


Teşekkürler, bahsettiğiniz gibi yaptım, kırılma noktasını düzenledim ve if (s == 50) ayarladım ama neden bu durumda durmuyor ??
Pawan

2
@PreethiJain sadece "s == 50" koşulunu yazın (tırnak işaretleri olmadan). Bu arada, jsfiddle'ı şu adreste çalıştırmayı
başardım

6
Başlamak için bir kesme noktası eklemenize bile gerek yok. Hemen bir satırı sağ tıklayın ve "Koşullu kesme noktası ekle ..." seçeneğini tıklayın .
Martin Ender

2
Dostum, yıl 2017 ve Chrome hakkında yeni temel şeyler öğreniyorum. #Awesomeness
The Qodesmith

1
Bu, kod çalıştırmanın bu noktasında ifadeyi kontrol edecek ve sonra eğer öyleyse, if ifadesindeki bir kesme noktasıyla aynı şekilde kırılacaktır. Bence OP, hata ayıklayıcının, koşulun yerine getirilip getirilmediğini ve bu satırdaki hata ayıklayıcı kesintilerinin olup olmadığını her bir ifade yürütmesini kontrol edip etmediğini bilmek istedi. Bu davranış, bir değişkenin ne zaman beklenmedik bir şey yaptığını anlamak için dedektif oynamak zorunda olmadığınız için çok daha kullanışlıdır.
ejectamenta

27

İfadeye bir göz atın debugger. Temel olarak, mevcut tüm hata ayıklama araçlarını çağırır ve Chrome'da, yorumlayıcı bir kesme noktasını karşılamış gibi davranır.

Kodunuz şöyle olacaktır:

s = date.getSeconds();
if (s == 50) {
   debugger;
}

Gönderen referans :

[hata ayıklayıcı] Mevcut tüm hata ayıklama işlevlerini çağırır. Hata ayıklama işlevi yoksa, bu ifadenin hiçbir etkisi yoktur.


Aslında bu, asıl sorunun sorulduğu orijinal yolun ruhuna uygun olsa da ve harika bir bilgi; Bence asıl soru ECMAscript değil, Chrome Araçları ile ilgiliydi. Söyleniyor ki; Eklenmesi gereken bir uyarı var: debuggerüretim kodundaki tüm çağrıları kaldırın . (Hata ayıklayıcı etrafta olduğunda linting'in bir hata atacağından oldukça eminim, ancak konu her açıldığında seslenmeye değer).
Crispen Smith

1
hata ayıklayıcı ifadesine ihtiyacınız yoktur, if içinde boş bir ifade de olabilir ve oraya bir kesme noktası ekleyebilirsiniz.
ejectamenta

8

Aşağıdaki adımları uygulayarak Google Chrome'da koşullu bir kırılma noktası ayarlayabilirsiniz:

1. durdurmak istediğiniz kesme noktasına sağ tıklayın, lütfen devam edin görüntü açıklamasını buraya girin

2. "Koşullu kesme noktası ekle" yi tıklayın, bir metin görünecek, orada koşul ekleyebileceksiniz (koşul yerine getirilirse sonuç 'doğru', aksi takdirde 'yanlış' olacaktır), koşul eklendikten sonra kesme noktası rengi turuncu olacaktır, chk on görüntü açıklamasını buraya girin

3. aynı sayfayı yeniden yükleyin, koşul yerine getirildiğinde kesme noktasının çalışacağını görebilirsiniz. görüntü açıklamasını buraya girin

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.