gpt4 book ai didi

objective-c - 使用 Qt 4.5 时如何修复应用程序泄漏?

转载 作者:行者123 更新时间:2023-12-03 16:26:37 26 4
gpt4 key购买 nike

除了针对 Qt 4.5 构建之外,无需对代码进行任何更改,当我运行应用程序时,我会收到以下警告消息:

*** _NSAutoreleaseNoPool(): Object 0x50a1b0 of class NSCFNumber autoreleased with
no pool in place - just leaking

我的代码中没有使用任何 Objective-C,但 Qt 4.5 使用的是基于 Cocoa 的新后端而不是 Carbon。

我不确定如何解决和修复此错误消息。有人知道吗?

最佳答案

通常,当您在代码中看到此问题时,请在 [pool release]; 之前使用 NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; 将有问题的代码块括起来。 之后。您可以在 _NSAutoreleaseNoPool 函数上设置断点,然后查找堆栈爬网以查看有问题的代码是什么。请记住,-autorelease 在 Cocoa 中随处可见,因此触发它的可能不是 Qt 代码中对 autorelease 的特定调用。

但是,由于这是 Qt 的代码正在执行此操作,并且上次我检查过,Qt/Cocoa 仍然是一项正在进行中的工作,因此您可能应该向它们提交包含错误和堆栈爬行的错误报告,并等待他们修复它。

关于objective-c - 使用 Qt 4.5 时如何修复应用程序泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/865269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com