Pycharm CE, Django projemde kesme noktalarına ulaşmıyor

Dec 24 2020

Projemi manage.pydoğru yerde, doğru ayarlarla çalışacak şekilde uygun şekilde yapılandırdım .

Ayrıca, kesin olarak yürütüldüğünü bildiğim bir yöntemde ayarlanan hata ayıklama kesme noktalarına sahibim (oraya bir yazdırma ifadesi koydum ve beklendiği gibi yürütüldü). Kesme noktaları devre dışı bırakılmamış veya koşullu değildir:

Yukarıdaki çalıştırma yapılandırmasını kullanarak "Hata ayıklama modunda çalıştır" düğmesine bastığımda (bu proje için yapılandırdığım tek şey olduğundan eminim aynıdır), bu aldığım konsol çıktısı:

pydev debugger: process 38083 is connecting

Connected to pydev debugger (build 192.5728.105)
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
December 23, 2020 - 19:22:22
Django version 3.1.4, using settings 'FEArena.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Bir kesme noktası koymayı denediğimde manage.py, beklendiği gibi çalıştı ve sadece 'hata ayıklama' düğmesine bastığımda tetiklendi. Ancak, uygulama başladıktan sonra, yukarıdaki yöntemi tetiklemek için bir REST istemcisi kullandığımda, içinde kesme noktaları olan, kesme noktaları tetiklenmiyor ve hata ayıklayıcı başlamıyor. 200 OKREST istemcimde bir yanıt alıyorum, ancak PyCharm herhangi bir noktada hata ayıklayıcıyı durdurmuyor ve çalıştırmıyor.

"Gevent uyumlu hata ayıklamayı" (Topluluk Sürümü kullandığım için sahip olmadığım için sahip olmadığım) ayarlamayı öneren diğer yanıtlara baktım ve sorunu çözmeyen .idea/proje klasörünü silmeyi denedim . Buna başka neyin sebep olabileceğinden emin değilim. Sadece programımda hata ayıklamak istiyorum.

PyCharm sürüm bilgilerim

PyCharm 2019.2 (Community Edition)
Build #PC-192.5728.105, built on July 23, 2019
Runtime version: 11.0.3+12-b304.10 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.7
GC: ParNew, ConcurrentMarkSweep
Memory: 4029M
Cores: 8
Registry: 
Non-Bundled Plugins: com.karateca.jstoolbox, mobi.hsz.idea.latex, net.seesharpsoft.intellij.plugins.csv, nl.rubensten.texifyidea, org.intellij.plugins.markdown

Kesme noktalarının tetiklenmemesine ne neden olabilir ve bunu nasıl düzeltebilirim? Programımın diğer bölümlerinde hata ayıklamak için kesme noktalarına ihtiyacım var.

Yanıtlar

2 SLDem Jan 03 2021 at 02:49

Sunucunuzu şans eseri bir konsolda çalıştırıyor musunuz? Durum buysa, konsolda çalışan sunucuyu durdurmayı deneyin ve PyCharm'da olanı yeniden başlatın.

1 C.Cooney Jan 03 2021 at 01:35

Daha önce executor.submit'i çağırırken PyCharm'da benzer bir sorun yaşıyordum. Beklenen hata ayıklama davranışını yeniden çağırmak için kodun sonuçlarını isteyen bir satır eklemek zorunda kaldım. Kodunuz iş parçacıklıysa, oradan başlamak isteyebilirsiniz.

future = executor.submit(control, channel) # spawn a function control(channel)
print(f'Future result is: {future.result()}') # new line I had to add to enable debugging

Düzenleme: PyCharm'da benzer davranışta bana yardımcı olan bağlantıya bağlantı eklemek. concurrent.futures.ThreadPoolExecutor hataları yazdırmıyor

1 Henri Jan 06 2021 at 17:53

Mevcut çalışma konfigürasyonum şunun üzerindedir:

Herhangi bir komut dosyası yolu veya parametresi yoktur.

Yeşil "Hata Ayıkla" düğmesini tıkladığımda, otomatik olarak başlatılan komut şu şekildedir: /Users/.../virtualenv/bin/python /Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevd.py --multiproc --qt-support=auto --client 127.0.0.1 --port 55583 --file /Users/.../manage.py runserver 8000

Ne senin hakkında ?

ShishirJha Jan 08 2021 at 03:30

Merhaba ben bu cevabı itibarımdan dolayı yorum yapamadığım için yazıyorum. Herhangi bir şans eseri, pycharm'ın önermeye devam ettiği cython hata ayıklayıcı araç setini yüklediniz mi? Eğer öyleyse, aynı sorunla karşılaştım. Çözüm, cython hızlandırmalarını bir şekilde silmektir. Bunu yapmak için bu bağlantıyı takip edebilirsiniz .

Temel olarak adı verilen dizine gitmeli _pydevd_bundleve pydev*.sodosyaları silmelisiniz . Şimdi bu, kök ayrıcalığı gerektirir. Buna sahipseniz ve bunları silebilirseniz, büyük olasılıkla işe yarayacaktır (cython hata ayıklayıcı uzantısını kurmuş olmanız koşuluyla).