2011-11-17 25 views
27

यदि मेरे पास दो कार्यक्रम हैं जो मेरे कार्यक्रम में एक साथ चल रहे हैं और उनमें से एक पर ब्रेकपॉइंट डालते हैं, तो क्या यह थ्रेड स्टॉप भी बंद हो जाएगा जब यह ब्रेकपॉइंट मारा जाएगा, या फिर भी यह निष्पादित जारी रहेगा?क्या ब्रेकपॉइंट सभी धागे को रोकता है?

(मैं जावा में लिख रहा हूँ और NetBeans का उपयोग)

+4

@ अच्छी तरह से आप मिजर के उत्तर से देख सकते हैं, यह पर्यावरण सेटिंग्स पर निर्भर करता है, इसलिए मेरे अवलोकन मुझे पूरी तस्वीर नहीं दे रहे थे और इसलिए यह सवाल पूछने लायक था। –

उत्तर

33

ब्रेकप्वाइंट कि वे किस तरह से व्यवहार करना चाहिए एक विकल्प है। हालांकि, आप ब्रेकपॉइंट गुणों को बदलकर व्यवहार को संशोधित कर सकते हैं।

+0

अन्य आईडीई से बात नहीं कर सकते हैं, लेकिन आईडीईए में आप गटर में ब्रेकपॉइंट पर राइट-क्लिक कर सकते हैं और "ऑल" (डिफ़ॉल्ट) से "थ्रेड" में अपने सस्पेंड मोड को बदल सकते हैं। मुझे नहीं पता था कि आप आज तक ऐसा कर सकते हैं जब मैं यह पता लगाने की कोशिश कर रहा था कि क्यों एक गुवा इवेंट बस हैंडलर में ब्रेकपॉइंट मुख्य धागा को निलंबित कर रहा था। – joshbodily

9

मुझे विश्वास है कि प्रत्येक थ्रेड एक बार यह कोड में ब्रेकप्वाइंट हिट जबकि अन्य सूत्र का प्रदर्शन जारी रहेगा बंद हो जाएगा। मुझे यह मेरे टॉमकैट दिनों से याद है। किसी एकल थ्रेड या सभी धागे

breakpoints

+0

अगर हम एकल वेब ऐप के बारे में बात कर रहे हैं, तो मुझे लगता है कि यह संभव नहीं है। डिफ़ॉल्ट रूप से इंटेलिज विचार ब्रेकपॉइंट में सभी धागे बंद हो जाता है। इस वजह से मुझे @Async डीबग करने की कोशिश कर रही कठिनाइयों थी: मैंने डीबग में काम नहीं किया क्योंकि मुझे उम्मीद थी कि – divideByZero

+0

गलत सर। यह इस बात पर निर्भर करता है कि आप अपना ब्रेकपॉइंट कैसे सेट करते हैं। – snovelli

1

डिफ़ॉल्ट केवल धागा कि ब्रेकपाइंट बंद हो जाता है हिट तक निलंबित करने के लिए:

1

यह ध्यान रखना दिलचस्प हो सकता है कि ग्रहण और नेटबीन में डिफ़ॉल्ट व्यवहार वर्तमान थ्रेड को रोकना है जब ब्रेकपॉइंट मारा जाता है, जबकि इंटेलिजे में यह सभी धागे को निलंबित करता है।

संबंधित मुद्दे