LLDB equivalent to GDB's “info malloc-history
” command?

后端 未结 3 1628
萌比男神i
萌比男神i 2020-12-12 13:55

I am trying to resolve a \"message sent to deallocated instance \" error in iOS.

相关标签:
3条回答
  • 2020-12-12 14:24

    You used to be able to use the malloc_history command-line tool from a shell and give it the process ID and address of interest. It appears this command is no longer installed by the latest Xcode's command line tools. :-(

    0 讨论(0)
  • 2020-12-12 14:37

    See the LLDB-GDB command map (http://lldb.llvm.org/lldb-gdb.html) - you have to import a script, and the command is named malloc_info now. Obviously, malloc stack logging still needs to be turned on in the scheme options.

    (lldb) script import lldb.macosx.heap
    (lldb) malloc_info --stack-history 0x10010d680
    

    Unfortunately, it doesn't show dealloc's - didn't GDBs malloc-history show that as well?

    0 讨论(0)
  • 2020-12-12 14:39

    Use instruments, you'll get the exact line -

    (In XCode) Run it through "Product" -> "Profile".

    This will start Instruments, there you should choose "Zombies" and reproduce the bug event.

    You'l get a pop-up once a zombie is called, press the chevron to see the exact line.

    Problem is usually a bad __bridge (optional bridges __brige_retained / __bridge_transfer / __bridge)

    0 讨论(0)
提交回复
热议问题