原创Blog,转载请注明出处
http://blog.csdn.net/hello_hwc?viewmode=list
我的stackoverflow
前言:App上线四个月了,陆陆续续也在友盟上收到一些崩溃报告。这里就写一篇博客,简单介绍下如何debug。
有一点要记住,不要指望着复现bug靠断点调试,有些bug,例如多线程引起的,很难复现
核心命令
<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">dwarfdump --lookup <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x0007434d</span> -arch arm7 uau1<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.3</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.app</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.dSYM</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>
dSYM文件
XCode中
Window->Organizer->选择提交到App Store的Archies->右键,showin finder
右键->显示包内容,在dsym文件件里的就是符号表文件。这里包含着debug信息
或者window->Orgainzer,直接download dsym
崩溃报告
以我收到的这个为例
<code class="hljs xml has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">-[NSNull length]: unrecognized selector sent to instance 0x198705e70 (null) ( 0 CoreFoundation 0x00000001862442f4 <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">redacted</span>></span> + 160 1 libobjc.A.dylib 0x0000000197a680e4 objc_exception_throw + 60 2 CoreFoundation 0x000000018624b3a4 <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">redacted</span>></span> + 0 3 CoreFoundation 0x0000000186248154 <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">redacted</span>></span> + 928 4 CoreFoundation 0x000000018614accc _CF_forwarding_prep_0 + 92 5 Foundation 0x00000001871b2d98 <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">redacted</span>></span> + 212 6 Foundation 0x00000001871b2c88 <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">redacted</span>></span> + 200 7 Foundation 0x00000001871b3014 <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">redacted</span>></span> + 52 8 ????????? 0x00000001000bf900 ????????? + 358656 9 ????????? 0x00000001000bf748 ????????? + 358216 10 libdispatch.dylib 0x00000001980b9994 <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">redacted</span>></span> + 24 11 libdispatch.dylib 0x00000001980b9954 <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">redacted</span>></span> + 16 12 libdispatch.dylib 0x00000001980be20c _dispatch_main_queue_callback_4CF + 1608 13 CoreFoundation 0x00000001861fb7f8 <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">redacted</span>></span> + 12 14 CoreFoundation 0x00000001861f98a0 <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">redacted</span>></span> + 1492 15 CoreFoundation 0x00000001861252d4 CFRunLoopRunSpecific + 396 16 GraphicsServices 0x000000018f93b6fc GSEventRunModal + 168 17 UIKit 0x000000018aceafac UIApplicationMain + 1488 18 ????????? 0x000000010007528c ????????? + 53900 19 libdyld.dylib 0x00000001980e6a08 <span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="box-sizing: border-box; color: rgb(0, 0, 136);">redacted</span>></span> + 4 ) dSYM UUID: 916F22F5-F3B1-3709-BB7E-5B11267B5D1F CPU Type: arm64 Slide Address: 0x0000000100000000 Binary Image: ??? Base Address: 0x0000000100068000</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li></ul>
第一部分,看看UUID
<code class="hljs lasso has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">916</span>F22F5<span class="hljs-attribute" style="box-sizing: border-box;">-F3B1</span><span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3709</span><span class="hljs-attribute" style="box-sizing: border-box;">-BB7E</span><span class="hljs-subst" style="color: rgb(0, 0, 0); box-sizing: border-box;">-</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>B11267B5D1F</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>
使用命令查看dsym文件的uuid
<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">huangwenchendeMacBook-Pro:Dsym调试 huangwenchen$ dwarfdump --uuid uau1<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.3</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.app</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.dSYM</span>/ <span class="hljs-label" style="box-sizing: border-box;">UUID:</span> EC087835-FA55-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">36</span>F2-B4D9-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">430</span>BF6C2BA69 (armv7) uau1<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.3</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.app</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.dSYM</span>/Contents/Resources/DWARF/Name <span class="hljs-label" style="box-sizing: border-box;">UUID:</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">916</span>F22F5-F3B1-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3709</span>-BB7E-<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span>B11267B5D1F (arm64) uau1<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.3</span><span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">.0</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.app</span><span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.dSYM</span>/Contents/Resources/DWARF/Name</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>
对照可以看到,uuid是一致的,那么这个dsym文件可用
找到?????部分
之所以要找到这部分,是因为crash log中call tree没办法识别的部分,往往就是自己代码的部分。
我的Crash Log中,分别是这三行
<code class="hljs has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"> 8 ????????? 0x00000001000bf900 ????????? + 358656 9 ????????? 0x00000001000bf748 ????????? + 358216 18 ????????? 0x000000010007528c ????????? + 53900 </code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li></ul>
然后,用命令定位到代码crash处
<code class="hljs ruby has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">huangwenchendeMacBook-<span class="hljs-constant" style="box-sizing: border-box;">Pro</span><span class="hljs-symbol" style="color: rgb(0, 102, 102); box-sizing: border-box;">:Dsym</span>调试 huangwenchen<span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$ </span>dwarfdump --lookup <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x000000010007528c</span> -arch arm64 uau1.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3.0</span>.app.dSYM </code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>
看到Log
<code class="hljs livecodeserver has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">Looking up address: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x000000010007528c</span> <span class="hljs-operator" style="box-sizing: border-box;">in</span> .debug_info... found! <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x000ada5c</span>: Compile Unit: <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">length</span> = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x00001139</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">version</span> = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x0002</span> abbr_offset = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x00000000</span> addr_size = <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x08</span> (next CU <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x000aeb99</span>) <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x000ada67</span>: TAG_compile_unit [<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">99</span>] * AT_producer( <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"Apple LLVM version 7.0.0 (clang-700.1.76)"</span> ) AT_language( DW_LANG_ObjC ) AT_name( <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"/Users/huangwenchen/Desktop/nativeios/StampApp/StampApp/UAUOneStampMarketInfo.m"</span> ) AT_stmt_list( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x0003647f</span> ) AT_comp_dir( <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"/Users/huangwenchen/Desktop/nativeios/StampApp"</span> ) AT_APPLE_optimized( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x01</span> ) AT_APPLE_major_runtime_vers( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x02</span> ) AT_low_pc( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x0000000100074674</span> ) AT_high_pc( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x000000010007597c</span> ) <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x000adf2d</span>: TAG_subprogram [<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">106</span>] * AT_low_pc( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x0000000100075278</span> ) AT_high_pc( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x0000000100075298</span> ) AT_frame_base( reg31 ) AT_object_pointer( {<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x000adf50</span>} ) AT_name( <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"-[UAUOneStampMarketInfo insitutionName]"</span> ) AT_decl_file( <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"/Users/huangwenchen/Desktop/nativeios/StampApp/StampApp/UAUOneStampMarketInfo.m"</span> ) AT_decl_line( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">122</span> ) AT_prototyped( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x01</span> ) AT_type( {<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x000adcd1</span>} ( NSString* ) ) AT_APPLE_optimized( <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x01</span> ) Line table dir : <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'/Users/huangwenchen/Desktop/nativeios/StampApp/StampApp'</span> Line table <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">file</span>: <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'UAUOneStampMarketInfo.m'</span> <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">line</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">123</span>, column <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">12</span> <span class="hljs-operator" style="box-sizing: border-box;">with</span> start address <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x0000000100075288</span> Looking up address: <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0x000000010007528c</span> <span class="hljs-operator" style="box-sizing: border-box;">in</span> .debug_frame... <span class="hljs-operator" style="box-sizing: border-box;">not</span> found.</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li><li style="box-sizing: border-box; padding: 0px 5px;">28</li><li style="box-sizing: border-box; padding: 0px 5px;">29</li><li style="box-sizing: border-box; padding: 0px 5px;">30</li></ul>
其中,这两行
<code class="hljs scss has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"> <span class="hljs-function" style="box-sizing: border-box;">AT_name( <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"-[UAUOneStampMarketInfo insitutionName]"</span> )</span> <span class="hljs-function" style="box-sizing: border-box;">AT_decl_file( <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"/Users/huangwenchen/Desktop/nativeios/StampApp/StampApp/UAUOneStampMarketInfo.m"</span> )</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>
基本上定定位到了UAUOneStampMarketInfo.m,中的insitutionName方法。
再结合
[NSNull length]:
这个错误,也就定位到了是因为后台返回了NSNull对象,自己没做检查
这个命令还有很多用法
<code class="hljs applescript has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">hangwenchendeMacBook-Pro:Dsym调试 huangwenchen$ dwarfdump <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--help</span> NAME dwarfdump <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">-- dump DWARF debug information.</span> SYNOPSIS dwarfdump [options] file1 file2 ... DESCRIPTION For each operand <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">that</span> names a mach-o <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">32</span> bit ELF <span class="hljs-type" style="box-sizing: border-box;">file</span>, dwarfdump disassembles <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> DWARF data found within <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> <span class="hljs-type" style="box-sizing: border-box;">file</span>. Only <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> .debug_info section <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> disassembled unless one <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-XXXX or --all options</span> are specified. The following options are available: -a, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--all</span> Dump disassembly <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> all DWARF sections <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">-- by default only the</span> .debug_info section <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> disassembled, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> individual sections can be specified <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span> using <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-XXXX options.</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--arch=ARCH</span> Dump DWARF debug information <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> specified CPU architecture. Architectures may be specified <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span> <span class="hljs-property" style="box-sizing: border-box;">name</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span> <span class="hljs-type" style="box-sizing: border-box;">number</span>. This option can be specified multiple <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">times</span>, once <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> each desired architecture. All architectures will be disassembled <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span> default. -c, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--show-children</span> Show a DIE's children when using <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-info=OFFSET, --find,</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--name options.</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--eh-frame[=SECTION]</span> Dump exception handling frame information <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">from</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> optional SECTION parameter. The __eh_frame section will be dumped <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span> default. -e, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--english</span> Print dwarf tags <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> attributes <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> a more readable format instead <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> using <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> DWARF TAG_ <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> AT_ definitions. <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--file-stats[=size]</span> Show <span class="hljs-type" style="box-sizing: border-box;">file</span> composition statistics <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> any input files. Each <span class="hljs-type" style="box-sizing: border-box;">file</span>'s <span class="hljs-property" style="box-sizing: border-box;">contents</span> are analyzed <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> broken down <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">into</span> byte counts <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> following categories: symbol table, <span class="hljs-type" style="box-sizing: border-box;">string</span> table, <span class="hljs-type" style="box-sizing: border-box;">text</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> code, DWARF debug information, STABS debug information, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> other. When multiple files are specified, byte <span class="hljs-command" style="box-sizing: border-box;">count</span> totals <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> each category will be displayed <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">end</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> table. Specify <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> optional 'size' argument <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> show all byte <span class="hljs-command" style="box-sizing: border-box;">count</span> results using unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> Petabyte. This option can be useful <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> tracking <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> size <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> makeup <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> mach-o binary files, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> also allows easy comparison <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">between</span> DWARF <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> STABS built binaries <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> related object files. -f PATTERN, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--find=PATTERN</span> Search <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> exact <span class="hljs-type" style="box-sizing: border-box;">text</span> PATTERN <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> .debug_pubnames section <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> print <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> matching debug information entries. Use <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--regex</span> option <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> have PATTERN become a regular expression <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> more flexible pattern matching. When there <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> no .debug_pubnames section <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> <span class="hljs-property" style="box-sizing: border-box;">name</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> DIE you are looking <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">not</span> found <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> .debug_pubnames section, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">try</span> using <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> slower <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">but</span> more complete <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--name option.</span> -F, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--show-form</span> Show DWARF form types <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">after</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> DWARF attribute types. -h, -?, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--help</span> Show help <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> usage <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> this command. -i, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--ignore-case</span> Ignore case distinctions <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> when finding <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span> <span class="hljs-property" style="box-sizing: border-box;">name</span> using strings <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">or</span> regular expressions. -n PATTERN, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--name=PATTERN</span> Find <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> print all DIE entries <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">whose</span> <span class="hljs-property" style="box-sizing: border-box;">name</span> (DW_AT_name attribute) matches <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> exact <span class="hljs-type" style="box-sizing: border-box;">text</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> PATTERN. Use <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--regex option to</span> have PATTERN become a regular expression <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> more flexible pattern matching. <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--lookup=ADDRESS</span> Lookup ADDRESS <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">in</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> debug information <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> print out any available <span class="hljs-type" style="box-sizing: border-box;">file</span>, function, block <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> line table details. -o PATH, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--out-file=PATH</span> Redirect output <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> a <span class="hljs-type" style="box-sizing: border-box;">file</span> specified <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span> PATH. -p, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--show-parents</span> Show a DIE's parents when using <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-info=OFFSET, --find,</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--name options.</span> -r N, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--recurse-depth=N</span> Only recurse <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> a child depth <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> N when displaying <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> DWARF information. -u, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--uuid</span> Show <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> UUID <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> each architecture. -x, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--regex</span> Treat any PATTERN strings <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">as</span> regular expressions when searching <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">instead of</span> just <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">as</span> an exact <span class="hljs-type" style="box-sizing: border-box;">string</span> match. -v, <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--verbose</span> Display verbose information when dumping. This can help <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> debug DWARF issues. <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--verify</span> Verify <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> structure <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> DWARF information <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span> verifying <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> compile unit chains, die relationships graph, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> address ranges. <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--version</span> Display <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> current <span class="hljs-property" style="box-sizing: border-box;">version</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">and</span> build <span class="hljs-type" style="box-sizing: border-box;">date</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> dwarfdump binary. <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-abbrev</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-aranges</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-frame[=OFFSET]</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-info[=OFFSET]</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-inlined</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-line[=OFFSET]</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-macinfo[=OFFSET]</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-pubnames[=PATTERN]</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-pubtypes[=PATTERN]</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--debug-str</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--apple-names[=PATTERN]</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--apple-types[=PATTERN]</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--apple-exttypes[=PATTERN]</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--apple-namespaces[=PATTERN]</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--apple-objc[=PATTERN]</span> Dump <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> specified DWARF section <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span> <span class="hljs-property" style="box-sizing: border-box;">name</span>. Only <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> .debug_info section <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> disassembled <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span> default. Some entries support adding a '=OFFSET' <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">as</span> a way <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> provide an optional <span class="hljs-command" style="box-sizing: border-box;">offset</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> exact entry <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">to</span> dump within <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> respective section. When an OFFSET <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">is</span> provided, only <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> entry <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">that</span> <span class="hljs-command" style="box-sizing: border-box;">offset</span> will be dumped, <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">else</span> <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> entire section will be dumped. Some options support an optional '=PATTERN' parameter <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">that</span> will search <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> section <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">for</span> an entry <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">with</span> a matching <span class="hljs-property" style="box-sizing: border-box;">name</span>. Children <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">of</span> items <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">at</span> OFFSETs can be dumped <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">by</span> also using <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">the</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">--show-children option where applicable.</span> </code><div><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"> </span></div>