Find the source for __lldb_unnamed_function4866 $$ ProjectName

I got EXC_BAD_ACCESS in my iOS program, and I suspect that the reason is in one of my anonymous blocks, but there are quite a lot of them, and I need to narrow my list of candidates a bit.

The stack trace shows the current frame as __lldb_unnamed_function4866$$ProjectName . I do not see line numbers or source file names. There are also no visible local variables. The debugger displays machine code instructions. This was done in the background event queue, so there is not a single code in my stack elsewhere.

How do I know what this function is?

+4
source share
2 answers

I faced a similar situation, and while I can not help (yet) with your problem, I think I know a person who can.

Check out http://www.realmacsoftware.com/blog/block-debugging to explain how to learn a lot more about the evil block in question.

It doesn’t help me much, because I work from the crash log, but if you are still interested, it will give you about as much as you can get about an unnamed block.

The warning above link provides you with a lot of secret knowledge and may make you feel a little inadequate :)

[Edited to add] Not enough yet?

After disassembling and performing manual symbols, I came to the conclusion that ___lldb_unnamed_function is a red herring.

I followed How to manually symbolize the atos crash log , and he pointed his finger at a completely different function that came from a third-party library, and there was a very good candidate for the accident (killed by an angry guard dog with badf00d.)

In the course of this research, I also met a hopper, an excellent disassembler; I used the demo to confirm what the suspicious code was doing, so I give them a profile.

0
source

Try to set an exception checkpoint by clicking the plus sign in the cmd + 6 breakpoint navigator. For an overview of best debugging techniques, if you find it useful to review Stanford's Lecture on iTunes U

-1
source

Source: https://habr.com/ru/post/1432644/


All Articles