如何解决 OS X 上 libobjc.A.dylib 造成的的内存泄露问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决 OS X 上 libobjc.A.dylib 造成的的内存泄露问题相关的知识,希望对你有一定的参考价值。
所谓dylib,就是bsd风格的动态库。基本可以认为等价于windows的dll和linux的so。mac基于bsd,所以也使用的是dylib。要解决这个问题,只需要软件不使用这个动态库,就不会有这个问题了。 参考技术A 所谓dylib,就是bsd风格的动态库。基本可以认为等价于windows的dll和linux的so。mac基于bsd,所以也使用的是dylib。如果需要引用一个第三方的dylib,在xcode下编译出cocoa程序,在本机上运行是不会出问题的
如何在 OS X 上启用完整的核心转储?
【中文标题】如何在 OS X 上启用完整的核心转储?【英文标题】:How to enable full coredumps on OS X? 【发布时间】:2010-02-05 12:47:18 【问题描述】:看起来 OS X (10.6) 默认不生成编码转储。
使用ulimit -c unlimited
不是一个好的解决方案,因为 ulimit 确实在环境变量中设置了限制。这仅适用于从执行 ulimit 的 shell 执行的控制台应用程序。如果你有一个 gui 应用程序,这将不起作用。
【问题讨论】:
【参考方案1】:您可以启用核心转储,然后使用 open 从命令行启动您的 GUI 应用程序。
$ ulimit -c unlimited
$ open /Applications/Address\ Book.app
我刚刚查看了TN2124,它提出了类似的方法,只是不使用 open 而是直接启动应用程序,例如
$ ulimit -c unlimited
$ /Applications/TextEdit.app/Contents/MacOS/TextEdit
【讨论】:
这并不总是有效,请检查***.com/questions/135688/… 该讨论似乎是关于继承环境变量的。试试上面的 TN2124 技术,看看它是否适合你。以上是关于如何解决 OS X 上 libobjc.A.dylib 造成的的内存泄露问题的主要内容,如果未能解决你的问题,请参考以下文章