Yes, POSE gives me the memory leak error during exectuion. While
waiting for a computation that usually takes a second or two, I get this:
"Found 1855 memory leaks for [my application]. Information
concerning the leaks can be found in the log file."
And indeed, the log file shows lots and lots of memory chunks, many of
which are easy for me to identify visually based on their contents. It
looks like POSE is reporting all active memory chunks as "leaks" at this
point.
An interesting additional feature of this problem is that we're seeing
evidence of a problem on actual devices (a Clie, a Palm V, etc.) running
OS 4, while there has been no similar problem on our various OS 5 devices.
Jeff
Jerome Chapdelaine wrote:
One thing I don't understant... POSE reports memory leaks after your
application has terminated (before going back to the launcher). Are
you saying you get the memory leak message -during- your application
execution?
Jerome
Jeff Ondich wrote:
Thanks, Jerome. I always assume these things are my own fault, but
this one has me confused. It's claiming I have a memory leak before
the objects in question even go out of scope, right in the middle of
allocating some other object. It may be that I'm clobbering a
pointer and POSE is smart enough to notice that, but if I am, it's in
a place where none of my other environments have noticed a problem.
I'm using CodeWarrior. I'll check into Palm Reporter and see if it
helps.
Thanks,
Jeff
Jerome Chapdelaine wrote:
Hello Jeff,
I don't know how many small blocks of memory you are talking about,
but I've worked on applications with tons of small new/delete,
arrays of objects containing dynamically allocated stuff, etc... and
never got into any kind of limits. Each and every time I got a
memory leaked reported by POSE it was my fault! ;-) I've used the
Palm Reporter to track ctor/dstor calls and it was very helpful on
some very difficults cases.
Which compiler are you using? CW, PRC-Tools/PODS, other?
Jerome
Jeff Ondich wrote:
Hi,
I have a program that is running fine on Palm OS 5, with successful
tests on a Tungsten T, a Treo 650, the simulator, etc. On POSE
configured as a Palm V with OS 4.1.2, however, the emulator is
reporting what it calls memory leaks. The particular blocks of
memory that are being called leaks are not, in fact, leaking in the
usual sense--that is, there are deletes for every new. The code in
question passes through other memory leak testers (e.g. Visual C++)
without problem.
My guess is that there are limits of some kind as to the number of
active memory allocations you can have on OS 4, and that I'm
exceeding them. It's true that my code, intended to be
cross-platform C++, allocates quite a lot of small blocks of memory
using the C++ new rather than using Palm handles.
I'm having trouble finding any information about heap limitations on
Palm OS 4, and I'm finding the memory leak dumps provided by the
emulator to be of limited value. Do any of you have suggestions?
Thanks,
Jeff Ondich
--
For information on using the PalmSource Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/