2010-03-12 19 views
10

में पिछले लूप को कैसे छोड़ें डीडीडी का उपयोग करते हुए कई बार, कभी-कभी गड़बड़ी करने वाले सत्रों में, मैं लूप पर ठोकर खा जाता हूं। और मैं इसे पाने के लिए आगे बढ़ता रहता हूं, और यदि कई पुनरावृत्तियों हैं, तो मैंने बस इसके बाद ब्रेक पॉइंट सेट किया है, और "जारी रखें" दबाएं। क्या पिछले लूप जाने का कोई और तरीका है?डीडीडी (जीडीबी)

+0

एस/पास/अतीत/जी के लिए धन्यवाद ... अंग्रेजी मेरी पहली भाषा नहीं है, हालांकि मैं इस पर बेहतर तरीके से बेहतर नहीं हूं। – vehomzzz

उत्तर

15

आप कमांड "जब तक" चाहते हैं - http://www.gnu.org/software/gdb/documentation पर gdb मैनुअल देखें:

वर्तमान ढेर फ्रेम में, एक स्रोत लाइन वर्तमान पंक्ति पिछले जब तक चलाना जारी रखें, पहुँच जाता है। यह आदेश एक लूप के माध्यम से एक से अधिक चरण से बचने के लिए उपयोग किया जाता है। अगले आदेश की तरह है, को छोड़कर जब तक कोई कूद न हो, स्वचालित रूप से निष्पादन जारी रहता है जब तक कि प्रोग्राम काउंटर कूदने के पते से अधिक न हो।

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

3

मैं आम तौर पर "यहां तक ​​जारी रहता हूं" का उपयोग करता हूं जो उस स्थान पर अस्थायी ब्रेकपॉइंट सेट करता है और तुरंत निष्पादन जारी रखता है। इसे माउस बटन 3 के माध्यम से एक्सेस किया जाता है जो पॉपअप मेनू खोलता है।