Debugging iOS signal exceptions in iOS private code
-
27-10-2019 - |
문제
I know quite a title.
However I seem to keep getting these mysterious errors & all GDB shows me is the line number of Apples code thats gone bang. I.e.
0x028235bd <+0025> jne 0x28235dd <_ZN2CA5Layer15collect_layers_EPNS0_17CollectLayersDataE+57>
0x028235bf <+0027> mov 0x4(%eax),%ecx
0x028235c2 <+0030> test %ecx,%ecx
0x028235c4 <+0032> js 0x28235dd <_ZN2CA5Layer15collect_layers_EPNS0_17CollectLayersDataE+57>
0x028235c6 <+0034> mov 0x8(%ebp),%edx
0x028235c9 <+0037> mov 0x78(%edx,%ecx,4),%edx <---- EXC_BAD_ACCESS
I just want to iterate that the above I know indicates that a released object is being accessed again. However the issue is how do I debug this when I don't have a stacktrace or even the register values?
Its not just EXC_BAD_ACCESS but also SIGABRT errors otherwise I could use the NSZombieEnabled trick.
(As a further note, this call trace is related to ViewControllers and the like, so any pointers debugging these would be helpful too)
Thanks again.
해결책
Open the xCode, press command+6, tap the '+' button at the bottom, select Add Exception Breakpoint, press done. Now if any exception is being thrown, the xCode will highlight the line of code that threw it.