日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS LLDB console debug总结

發(fā)布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS LLDB console debug总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

Xcode's debugging console window is a full-featured LLDB debugging console. When your app is paused(at a breakpoint), the debugging console shows the LLDB command prompt. You can type any LLDB debugger common into the console to help you with debugging, including loading external python script.

The most frequently used command is po, which stands for print object. When your application is paused in debugger, you can print any variable that is in the current scope. This includes any stack variables, class variables, properties, ivars, and global variables. In short, any variable that is accessible by your application at the breakpoint can be accessed via the debugging console.

Printing scalar variables

when you're dealing with scalars like integers or structs(CGRect, CGPoint, etc..), instead of using po, you use p, followed by the type of struct.

p (int) self.myAge

p (CGPoint) self.view.center

Printing Registers

Registers in your CPU are used for storing variables that have to be accessed frequently. Compilers optimize frequently used variables like the loop variable, method arguments, and return variables in the registers. When your app crashes for no apparent reason, probing the register for the method name or the selector name that crashed your app will be very useful.

(lldb) register read

General Purpose Registers:

? ? ? ? r0 = 0x37c9cb21? libobjc.A.dylib`objc_msgSend + 1

? ? ? ? r1 = 0x37c9cb21? libobjc.A.dylib`objc_msgSend + 1

? ? ? ? r2 = 0x01b5c214? "idKey"

? ? ? ? r3 = 0x01b5eb28? "checkCurrentContactBean"

? ? ? ? r4 = 0x00000000

? ? ? ? r5 = 0x37c9cb21? libobjc.A.dylib`objc_msgSend + 1

? ? ? ? r6 = 0x27d09bd0

? ? ? ? r7 = 0x27d09bc8

? ? ? ? r8 = 0x01b5bbc4? "view"

? ? ? ? r9 = 0x00000000

?? ? ? r10 = 0x01b5e3f8? "masterViewController"

?? ? ? r11 = 0x00000000

?? ? ? r12 = 0x3a11c1d0? (void *)0x382c3959: _os_lock_handoff_unlock$VARIANT$mp + 1

? ? ? ? sp = 0x27d09358

? ? ? ? lr = 0x37cacabb? libobjc.A.dylib`objc_object::sidetable_release(bool) + 95

? ? ? ? pc = 0x002cce40? iPoS_IOS`-[PersonMainForm viewWillAppear:] + 232 at PersonMainForm.m:59

? ? ? cpsr = 0x60000030


Your output may vary, butt pay close attention to the?wax,?dcx, and esi on the simulator or r0-r4 registers when running on a device. These registers store some of the values that you're interested in. In the Simulator, the?dcx register holds the name of the selector that is called when your app crashed. You print an individual register to console by specifying the register name as shown below

register read ecx.

You can also specify multiple registers like

register ?read eax ecx.

The?dcx register on Intel architecture and the r15 register on ARM architecture hold the program counter. Printing the address of the program counter will show the last executed instruction. Similarly,?wax(r0 on ARM) holds the receiver address,?ecx (r4 on ARM) and holds the selector that was called last. The arguments to the methods are stored in registers r1-r3. If your selector has more than three arguments, they are stored on stack, accessible via the stack pointer(r13). sp, lr, and pc are actually aliases to the r13,r14 and r15 register, respectively. Hence, register read r13 is equivalent to register read sp.


轉(zhuǎn)載于:https://my.oschina.net/u/566401/blog/174337

總結(jié)

以上是生活随笔為你收集整理的iOS LLDB console debug总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 李丽珍裸体午夜理伦片 | 97国产精东麻豆人妻电影 | 亚洲国产麻豆 | 欧美国产精品久久 | 男女交性视频 | 99视频在线看 | 日韩天堂一区 | 98堂 最新网名 | 99热这里只有精品9 日韩综合在线 | 九九热视频免费 | av一区不卡 | 女人叉开腿让男人桶 | 亚洲日本精品 | 欧美人体一区二区 | 国产黄a三级三级看三级 | 最新国产在线视频 | 性色影院 | 亚洲精品国产精品乱码不99 | 中文字幕日韩精品亚洲一区小树林 | 777毛片| 日本黄色免费观看 | 日韩欧美三级视频 | 99久久亚洲精品日本无码 | 久操福利视频 | 国产原创在线播放 | 成人h动漫精品一区 | 伊人成人久久 | 激情文学欧美 | 精品成人无码久久久久久 | 五月精品 | 欧美在线另类 | 日韩二区在线观看 | 国产剧情在线视频 | 嫩草影院国产 | 日本男女网站 | 欧美成人女星 | 亚洲视频图片 | 俄罗斯破处 | 18成人在线观看 | c逼视频| 久久久久久久蜜桃 | 制服av在线 | 中文字幕日韩一区二区三区不卡 | 欧美一级生活片 | 四季av一区二区 | 波多野结衣av在线免费观看 | 亚洲欧洲日本国产 | 在线观看国产一级片 | 欧美专区 日韩专区 | 动漫av一区| 成人在线观看18 | av丝袜在线| 视色视频在线观看 | 奶妈的诱惑| 亚洲精品美女在线观看 | 国内自拍偷拍 | 黄色大片视频网站 | 一本一道人人妻人人妻αv 九一在线视频 | 国产精品xxx视频 | av看片 | 香蕉视频一级 | 日本久久高清 | 日本精品一区二区在线观看 | 久久久久色 | 国产精品揄拍一区二区 | 久久中文免费视频 | 在线观看免费日韩av | 今天最新中文字幕mv高清 | 久久国产精品二区 | а√在线中文网新版地址在线 | 在线观看免费毛片 | 国产欧美亚洲一区二区 | 在线视频日韩欧美 | 高清视频在线播放 | 麻豆精品一区二区三区 | 美女扒开尿口给男人捅 | a视频免费观看 | 超碰97免费 | 99精品视频在线 | 超碰免费看 | 一区二区三区在线 | 黑人黄色大片 | 国产精品视频一区二区在线观看 | 极品少妇在线 | 国产精品免费视频一区 | 91国模少妇一区二区三区 | 日本黄色网络 | 国产黄视频在线观看 | 日韩av一卡 | 免费看黄20分钟 | 白嫩日本少妇做爰 | 久久国产精品无码一区二区 | 国产第4页 | 神马午夜国产 | 69国产精品视频免费观看 | 欧美做受xxxxxⅹ性视频 | 日本一级黄色大片 | 99热成人 | 9l视频自拍九色9l视频成人 |