如何解决 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 造成的的内存泄露问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Linux 和 OS X 上获取本地机器的主 IP 地址? [关闭]

如何在 OS X 上启用完整的核心转储?

如何使用自制软件在 Mac OS X 上安装 GTest?

我如何在 OS X 10.9 上使用 ghost4j

Mac OS X 游戏如何接收低级键盘输入事件?

如何在最新的OS X上安装多个版本的Python并同时使用它们?