summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2019-02-12 14:04:04 +0100
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2019-02-12 18:34:25 +0000
commitae94ab264ba29a41beac81a61fb39c0d4f669270 (patch)
tree1fab954a1ce2f27995fa84de1cf4a89ac04d30d8 /src
parent6b8610f4e8b72895bfa4228cca2230f31c259d80 (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')
-rw-r--r--src/corelib/kernel/qcore_mac_objc.mm10
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])
{