2016-11-14 14 views
5

संपादित करें: अब यह प्रतीत होता है कि यह frame info तक सीमित नहीं है, लेकिन वास्तव में, breakpoint command add आदेशों में से कोई भी काम नहीं करता है। वे केवल अगर एक (lldb) पर मैन्युअल में टाइप काम करेंगे कमांड प्रॉम्प्टएलएलडीबी ब्रेकपॉइंट कमांड एक्सकोड 8

मैं एक वर्ग की जांच करने के XCode कंसोल के माध्यम से LLDB में कुछ breakpoints निर्धारित करते हैं, और कैसे यह कोड में प्रयोग किया जाता है।

(lldb) breakpoint set --func-regex "DVLayer" 

ब्रेकपॉइंट 7: 73 स्थान।

(lldb) breakpoint command add 7 

अपना डीबगर कमांड दर्ज करें। समाप्त करने के लिए 'संपन्न' टाइप करें।

frame info 

continue 

DONE 

इस XCode वापस XCode 4. के लिए जा रहा के सभी पिछले संस्करणों में ठीक काम किया है अब हालांकि, सभी मैं कंसोल में इन बयानों, और कोई फ्रेम की जानकारी कर रहे हैं। मैंने 5 अलग-अलग वर्गों पर ब्रेकपॉइंट कमांड का प्रयास किया है, और यह उनमें से किसी पर भी काम नहीं करता ... हमेशा यह आउटपुट।

कमांड # 2 'जारी रखें' ने लक्ष्य जारी रखा।

कमांड # 2 'जारी रखें' ने लक्ष्य जारी रखा।

कमांड # 2 'जारी रखें' ने लक्ष्य जारी रखा।

कमांड # 2 'जारी रखें' ने लक्ष्य जारी रखा।

कमांड # 2 'जारी रखें' ने लक्ष्य जारी रखा।

कमांड # 2 'जारी रखें' ने लक्ष्य जारी रखा।

कमांड # 2 'जारी रखें' ने लक्ष्य जारी रखा।

कमांड # 2 'जारी रखें' ने लक्ष्य जारी रखा।

कमांड # 2 'जारी रखें' ने लक्ष्य जारी रखा।

भी ध्यान रखें कि यह केवल एक breakpoint command add बयान

अंदर काम करते हैं मैं बस (lldb) कमांड प्रॉम्प्ट पर LLDB में एक ब्रेकप्वाइंट पर रोका हूँ अगर विफल रहता है, मैं frame info टाइप कर सकते हैं और यह उम्मीद के रूप में काम करता है, हालांकि, जैसा ऊपर बताया गया है, frame info को ब्रेकपॉइंट कमांड के रूप में जोड़कर उपर्युक्त आउटपुट के साथ पूरी तरह विफल हो जाता है।

उत्तर

0

निम्नलिखित वैकल्पिक हल Xcode 8.0 में मेरे लिए काम किया:

(lldb) breakpoint set --func-regex "setTitle" 
Breakpoint 2: 296 locations. 
(lldb) breakpoint command add --script-type python 2 
Enter your Python command(s). Type 'DONE' to end. 
def function (frame, bp_loc, internal_dict): 
    """frame: the lldb.SBFrame for the location at which you stopped 
     bp_loc: an lldb.SBBreakpointLocation for the breakpoint location information 
     internal_dict: an LLDB support object not to be used""" 
    print str(frame) 
    frame.GetThread().GetProcess().Continue() 
    DONE 
(lldb) 
frame #0: 0x00000001879ca4b8 UIKit`-[UIButton _setTitleShadowOffset:] 
frame #0: 0x00000001879ca4b8 UIKit`-[UIButton _setTitleShadowOffset:] 
frame #0: 0x00000001879ca4b8 UIKit`-[UIButton _setTitleShadowOffset:] 
frame #0: 0x000000018781ef68 UIKit`-[UIButton setTitleColor:forState:] 
frame #0: 0x000000018781efb4 UIKit`-[UIButtonContent setTitleColor:] 
frame #0: 0x000000018781ef68 UIKit`-[UIButton setTitleColor:forState:] 
frame #0: 0x000000018781efb4 UIKit`-[UIButtonContent setTitleColor:] 
frame #0: 0x000000018781ef68 UIKit`-[UIButton setTitleColor:forState:] 
frame #0: 0x000000018781efb4 UIKit`-[UIButtonContent setTitleColor:] 
frame #0: 0x000000018781edec UIKit`-[UIButton setTitle:forState:] 
frame #0: 0x000000018781ee6c UIKit`-[UIButtonContent setTitle:] 

संपादित करें: अधिक जानकारी: मैं बाहरी अजगर स्क्रिप्ट Xcode में जा नहीं मिल सका 8.

संपादित करें: LLDB अजगर आदेशों के लिए लिंक: https://lldb.llvm.org/python-reference.html

+0

क्षमा करें, मैंने जल्द ही आपका जवाब नहीं देखा। बस अभी इसे देखा। मैं इसे इस सप्ताह एक शॉट दूंगा और आपको क्रेडिट (उत्तर के रूप में चिह्नित करें) देता हूं यदि यह काम करता है। उदाहरण के लिए धन्यवाद। –

+0

क्या आपके पास परीक्षण करने का मौका था? – mikep

+0

हां, माफ करना माइक, मैंने अभी तक नहीं किया है, लेकिन यह मेरे टूडो पर है।मुझे सचमुच यह पृष्ठ क्रोम विंडो 24/7 में खुला है, बस इसे मेरे दिमाग में रखने के लिए। अभी इस परियोजना पर वास्तव में व्यस्त है, लेकिन मैं इस सप्ताह के अंत में इसे एक शॉट देने में सक्षम हूं। चेकइन इन के लिए धन्यवाद। –

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