diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2019-02-12 14:04:04 +0100 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2019-02-12 18:34:25 +0000 |
commit | ae94ab264ba29a41beac81a61fb39c0d4f669270 (patch) | |
tree | 1fab954a1ce2f27995fa84de1cf4a89ac04d30d8 /src/corelib/kernel | |
parent | 6b8610f4e8b72895bfa4228cca2230f31c259d80 (diff) |
Add developer documentation on how to debug missing auto-release pools
Change-Id: Ie3942210ab5bafea22d65d6f7c9a099e40ee6b73
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r-- | src/corelib/kernel/qcore_mac_objc.mm | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/corelib/kernel/qcore_mac_objc.mm b/src/corelib/kernel/qcore_mac_objc.mm index bc23e821fd..140c60a080 100644 --- a/src/corelib/kernel/qcore_mac_objc.mm +++ b/src/corelib/kernel/qcore_mac_objc.mm @@ -129,6 +129,16 @@ QT_USE_NAMESPACE QT_NAMESPACE_ALIAS_OBJC_CLASS(QMacAutoReleasePoolTracker); QT_BEGIN_NAMESPACE + +/* + Manages a scoped auto-release pool. + + To track autoreleases without any pools in place, such as in main() + before the runloop has started, export OBJC_DEBUG_MISSING_POOLS=YES + and break in objc_autoreleaseNoPool, e.g.: + + br set -n objc_autoreleaseNoPool -c "[((NSObject*)$r14) class] == [QNSWindow class]" +*/ QMacAutoReleasePool::QMacAutoReleasePool() : pool([[NSAutoreleasePool alloc] init]) { |