iOS libsystem_c.dylib strdup memory leak NSZombie not working

末鹿安然 提交于 2019-12-03 00:15:48

First, that is a malloc block, not an object. Zombies won't work (and would never have worked in prior versions either).

How many times does that leak happen? Once? Don't worry about it. Once per stream? file a bug -- that isn't in your code from what you have posted so far (unless your code is calling strdup, which is certainly possible but atypical in most iOS apps that aren't making heavy use of third party libraries... are you?)

In any case, unless it is leaking 100s and 100s of 32 byte allocations across the runtime of your app, don't worry about it (but please do file a bug).

As Valkio said, you can grab the stack trace of the allocation from gdb (or from Instruments) directly.

You can see where it was allocated if you do this:

  1. Go to Product -> Edit Scheme -> Run (Debug) -> Arguments.
  2. Add this to environment variables: MallocStackLoggingNoCompact
  3. Set it to YES
  4. Run, and let it crash.
  5. type in console (gdb) info malloc 0x4c8600 or whatever the address is.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!