Pycharm CE, Django projemde kesme noktalarına ulaşmıyor
Projemi manage.py
doğ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 OK
REST 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
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.
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
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 ?
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_bundle
ve pydev*.so
dosyaları 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).