Pycharm CE मेरे Django परियोजना में ब्रेकप्वाइंट मार नहीं है

Dec 24 2020

मेरे पास manage.pyसही सेटिंग्स के साथ सही जगह पर चलने के लिए मेरा प्रोजेक्ट ठीक से कॉन्फ़िगर किया गया है।

मेरे पास एक डीबग ब्रेकपॉइंट सेट भी है जो मुझे पता है कि निश्चितता के साथ निष्पादित किया जा रहा है (मैंने वहां एक प्रिंट स्टेटमेंट डाला है और इसे उम्मीद के अनुसार निष्पादित किया गया है)। ब्रेकपॉइंट अक्षम या सशर्त नहीं हैं:

जब मैं उपरोक्त रन कॉन्फ़िगरेशन का उपयोग करके "डिबग मोड में रन" बटन को हिट करता हूं (मुझे यकीन है कि यह एक ही है क्योंकि यह इस प्रोजेक्ट के लिए केवल एक ही कॉन्फ़िगर किया गया है), यह मुझे प्राप्त कंसोल कंसोल है:

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.

जब मैंने एक ब्रेकपॉइंट लगाने की कोशिश की manage.py, तो यह उम्मीद के मुताबिक काम किया, जब मैंने 'डीबग' बटन को हिट किया। हालाँकि, ऐप शुरू होने के बाद, जब मैं उपरोक्त विधि को ट्रिगर करने के लिए एक REST क्लाइंट का उपयोग करता हूं, तो इसमें ब्रेकप्वाइंट वाला, ब्रेकप्वाइंट ट्रिगर नहीं होता है और डीबगर शुरू नहीं होता है। मुझे 200 OKमेरे REST क्लाइंट में प्रतिक्रिया मिलती है , लेकिन PyCharm किसी भी बिंदु पर डिबगर को बंद नहीं करता है और निष्पादित नहीं करता है।

मैंने अन्य उत्तरों को देखा, जिन्होंने "गीवेंट संगत डिबगिंग" सेट करने की सलाह दी (जो मेरे पास नहीं है, क्योंकि मैं सामुदायिक संस्करण का उपयोग कर रहा हूं), और मैंने .idea/प्रोजेक्ट के लिए फ़ोल्डर को हटाने की कोशिश की है , जिसने समस्या को ठीक नहीं किया । मुझे यकीन नहीं है कि इसके कारण और क्या हो सकता है। मैं सिर्फ अपने कार्यक्रम को डिबग करना चाहता हूं।

मेरा PyCharm संस्करण जानकारी है

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

ब्रेकपॉइंट के कारण क्या ट्रिगर नहीं हो सकता है, और मैं इसे कैसे ठीक करूं? मुझे अपने प्रोग्राम के अन्य हिस्सों को डीबग करने के लिए ब्रेकप्वाइंट की आवश्यकता है।

जवाब

2 SLDem Jan 03 2021 at 02:49

क्या आप किसी भी संयोग से अपने सर्वर को कंसोल में चला रहे हैं? यदि thats मामला कंसोल में चल रहे सर्वर को रोकने का प्रयास करता है और PyCharm में एक को पुनरारंभ करता है

1 C.Cooney Jan 03 2021 at 01:35

जब मैं निष्पादक को आमंत्रित कर रहा था, तो मैं पहले PyCharm में इसी तरह का मुद्दा रख रहा था। अपेक्षित डिबगिंग व्यवहार को फिर से लागू करने के लिए मुझे कोड के परिणामों का अनुरोध करने वाली एक पंक्ति सम्मिलित करनी थी। यदि आपका कोड थ्रेडेड है, तो आप वहां से शुरू करना चाह सकते हैं।

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

संपादित करें: उस धागे के लिंक को जोड़ना जिसने मुझे PyCharm में समान व्यवहार के साथ मदद की। समसामयिकी .futures.ThreadPoolExecutor त्रुटियों को प्रिंट नहीं करता है

1 Henri Jan 06 2021 at 17:53

मेरा वर्तमान कार्य विन्यास इस पर है:

इसका कोई स्क्रिप्ट पथ या पैरामीटर नहीं है।

जब मैं "डीबग" हरे बटन पर क्लिक करता हूं, तो स्वचालित रूप से शुरू की गई कमांड है: /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

क्या तुम्हारा बारे में ?

ShishirJha Jan 08 2021 at 03:30

नमस्ते मैं यह जवाब लिख रहा हूं क्योंकि मैं अपनी प्रतिष्ठा के कारण टिप्पणी नहीं कर सकता। किसी भी संयोग से, आपने साइथन डिबगर टूलकिट स्थापित किया जो कि pycharm सुझाव देता रहता है? यदि हां, तो मैंने उसी मुद्दे का सामना किया है। इसका उपाय यह है कि किसी तरह साइंटन स्पीडअप को हटा दिया जाए। ऐसा करने के लिए आप इस लिंक का अनुसरण कर सकते हैं ।

मूल रूप से आपको डायरेक्टरी में जाना पड़ता है _pydevd_bundleऔर pydev*.soफाइल डिलीट कर देते हैं। अब इसके लिए रूट विशेषाधिकार की आवश्यकता है। यदि आपके पास वह है और आप उन्हें हटाने में सक्षम हैं, तो सबसे अधिक संभावना है कि यह काम करेगा (बशर्ते आपने साइथन डिबगर एक्सटेंशन स्थापित किया था)।