2014-09-30 21 views
7

pyCharm'a, çerçeve kodunu atlaması gerektiğini söylemenin bir yolu var mı? Hata ayıklayıcı, benden olmayan tüm satırları atlamalıdır. Virtualenv src debug edilmelidir içindepyCharm Hata ayıklama: çerçeve kodunu atla

  • Kod virtualenv lib yılında
  • Kod atlanır edilmelidir: Benim durumumda

    ben ayıklamak istediğiniz ve olmayanlar hangi kod anlatmak çok kolaydır.

F7 tuşuna basarsam (Step Into) kod tabanımdaki tüm satırları atlamam gerekir.

+0

Bu karartma eksikliği de beni rahatsız ediyor. Bir özellik isteği göndermenizi öneririm. –

+1

olası bir kopyası [Pycharm ile hata ayıklama, django kütüphanelerine girmeden nasıl projeye geçilir] (http://stackoverflow.com/questions/15164565/debugging-with-pycharm-how-to-step-into-project-without -entering-django-librar) –

cevap

6

[Güncelleme Mayıs 2015: pycharm tanıtılan 4.5]

Orada istedi biridir bunlardan biri şimdi iki yeni özellikler vardır, ama çok topikal çünkü ben de diğerini söz kapat. 4.5 sürüm notları itibaren

: My Code

kalmak Her

Adım kütüphane kaynakları yoluyla adım aksine, sadece proje adım kodu ile ayıklayıcısını bildirerek kodu üzerinde duruldu.

[...] Kütüphane Dosyalar

ayıklayıcı yeni 'Yoksay kütüphane dosyaları' seçeneği ile geliştirildi geçiyoruz. Kitaplık kodunun içinde durmak yerine, kitaplık modülünde istisna kaldırılması durumunda hata ayıklayıcının kodunuzun içinde durmasını sağlamak için bunu kullanın.

size "/helpers/pydev/pydevd.py içinde dict DONT_TRACE"

içine görmezden modüllerini ekleyebilir bahsedilmektedir bu answer yılında [Güncelleme ayıklama içinde kütüphaneleri blackboxing öğrenmeye sonra]

Ve the issue tracker açık bir sorun var.

[orijinal cevap] Böyle bir kod atlamak mümkün değildir, ancak esnek basitçe başka kesme noktası ekleyerek satır satır kod yürürken ve çalışan hata ayıklama oturumunda büyük atlar yapma arasında geçiş yapabilirsiniz (ederken Hata ayıklama - kesme noktaları, çalışan bir hata ayıklama oturumunda değiştirilebilir), atlamak istediğiniz kitaplık kodundan sonra, Hata Ayıklayıcı'daki 'Devam Etme' düğmesine basın. Kütüphane kodu atlandı ve kodunuza geri döndünüz.

Ayrıca, program istediğiniz durumda olduğunda programın hata ayıklayıcısını kırdığından emin olmak için koşullu kesme noktalarını da kullanmak isteyebilirsiniz: bir kesme noktasına sağ tıklayıp Doğru olarak değerlendirmek zorunda olan bir koşul girin. bu çizginin içeriği. The conditional breakpoint makes sure that the execution stops when idx has the desired value.

+0

Bu, basit bir kara kutulama özelliğinden çok daha fazla iş yapıyor. –

+0

@Oliver Açıkladığınız gibi kodu elle atlayabileceğimi biliyorum. Turbo Pascal bu özelliğe sahipti. Sanırım 1993'dü. :-) – guettli

+1

@guettli o.k. şimdi anladım. Benim için sorusu yeterince açık bir şekilde belirtilmemişti ve aslında kara kutu konsepti hakkında bir şey bilmiyordum. Güzel bir konsept, ama ne yazık ki henüz pycharm tarafından desteklenmiyor: http://forum.jetbrains.com/thread/PyCharm-2450 (sanırım). –

İlgili konular