2015-05-13 7 views
19

मुझे पता है कि मैं प्रत्येक पंक्ति पर एक ब्रेकपॉइंट सेट कर सकता हूं जहां मेरा कोड वैरिएबल बदलता है, लेकिन क्या कोई विकल्प है जैसे चर (एक "घड़ियां जोड़ें") पर राइट-क्लिक करना, जो वैरिएबल बदलते समय रुक जाएगा?एंड्रॉइड स्टूडियो 1.1.0 में वैरिएबल वैल्यू चेंज पर ब्रेक करें?

मुझे लगता है कि सी ++ में यह विकल्प है। See this.

और ग्रहण? See this.

क्या यह एएस में लागू किया गया है?

उत्तर

33

आप एंड्रॉइड स्टूडियो 1.1.0 में कुछ चर के मूल्य परिवर्तनों को तोड़ सकते हैं।

एंड्रॉइड स्टूडियो उन्हें 'जावा फील्ड वॉचपॉइंट्स' कहते हैं।

ब्रेकपॉइंट्स विंडोज़, (Run -> "View breakpoints...") or Ctrl+Shift+F8, से आप ऊपरी बाएं कोने में प्लस से "जावा फील्ड वॉचपॉइंट्स" जोड़ सकते हैं और फिर अपनी कक्षा और चर का चयन कर सकते हैं।

+4

कुंजीयन Ctrl + Shift + F8 और दबाने '+', आप तो ब्रेकप्वाइंट प्रकार के एक विकल्प है के बाद: (1) विधि, (2) फ़ील्ड, या (3) अपवाद ब्रेकपॉइंट। धन्यवाद, @ हाइम। – DSlomer64

1

जो आप खोज रहे हैं उसे आमतौर पर "वॉचपॉइंट" के नाम से जाना जाता है। आपको दस्तावेज़ पर विस्तृत उत्तर और उदाहरण मिलेगा। जेटब्रेन का पृष्ठ - इंटेलिजे - आइडिया जो एंड्रॉइड स्टूडियो का आधार है।

https://www.jetbrains.com/help/idea/2016.3/creating-field-watchpoints.html

मेरे लिए यह पूरी तरह से काम करता है!

1

लक्ष्य बस एक watchpoint जहां निष्पादन करता है, तो एक वेरिएबल का मान परिवर्तन रुकती है स्थापित करने के लिए है, तो दो तरीके हैं:

Ctrl-shift-F8 दबाने स्थापित करने के लिए एक watchpoint इस संवाद को लाता है:

enter image description here

यह अधिक शक्तिशाली दिखता है लेकिन यह भ्रमित है क्योंकि इसमें मुझे आवश्यक विकल्प की कमी है; और वहाँ एक अतिरिक्त कदम है:

  1. :

    enter image description here

    एक बार जब आप इसे सही ढंग से भरें, आप नीचे दिए गए सरल तरीका में के रूप में निष्पादन रोक के लिए एक ही विकल्प प्राप्त: नीचे संवाद बॉक्स में भरने अर्धविराम के साथ समाप्त होने वाली एक पंक्ति पर चर परिभाषित करें।

  2. उस क्षेत्र में बायाँ-क्लिक करें जहां आपने सामान्य ब्रेकपॉइंट सेट किया है और एक संवाद बॉक्स पॉप अप करता है। enter image description here
  3. अपनी आवश्यकताओं के अनुसार विकल्पों का चयन करें।

कोई उदाहरण जहां परिवर्तनीय prefDbExists परिवर्तन का मान, निष्पादन किसी भी "सामान्य" (बिना शर्त) ब्रेकपॉइंट पर रोक देगा। और जब मैंने मूल प्रश्न पूछा तो मुझे बस इतना ही चाहिए।


संपादित करें:पूरी तरह से योग्य वर्ग के नाम{package name}.{class name} है)

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