Mike: If you haven't already tried it, using Qt Creator in combination with valgrind works really well to track these kinds of things down.
The basics: 1) install valgrind (I used homebrew) 2) point Qt Creator at it in the prefs (Analyzer->Valgrind) 3) Click the Debug tab, set the tool to Memcheck, and click the start button (little green arrow) After it runs your application (slowly), it will spit out a bunch of info about memory leaks that make it pretty easy to track down the problems. --- Andy Maloney // https://asmaloney.com twitter ~ @asmaloney <https://twitter.com/asmaloney> On Thu, Sep 8, 2016 at 6:55 AM, Konstantin Shegunov <kshegu...@gmail.com> wrote: > > On Wed, Sep 7, 2016 at 11:23 PM, Mike Jackson <imikejack...@gmail.com> > wrote: > >> We monitor the memory use before and after the loop using OS X's Activity >> monitor. At the end of the loop there is more memory being used than before >> the loop, by about 2~3MB worth. >> > > This isn't reliable. Consider the following C++ only code: > > int main(int argc, char ** argv) > > { > > struct X; > > X * x = nullptr; > > > struct X { > > int data[1024]; > > }; > > > for (qint32 i = 0; i < 100000; i++) { > > x = new X[1024]; > > delete x; > > } > > return 0; > > } > > > In the KSysGuard (KDE's system monitor) I observe for the memory consumption: > 12 908k, 23 048k shared before the loop and 12 944k, 25 112k shared after the > loop. There isn't a leak here, yet there's a difference. The OS's heap > manager may free the memory immediately, may cache it, or hold on to it. > Ultimately it's out of your control, that's why you should use a code > analyzer (like valgrind to track leaks). > > > Kind regards. > > > _______________________________________________ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > >
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest