At 16:52 23/08/00 -0700, you wrote:
>There aren't APIs to walk the heap. And the format of the heap has changed
>several times, and can be expected to do so again, but it wouldn't be too
>hard to figure it out for some given OS version...
OK - thanks - I could really use some clues, though! How do I find the
start of the heap ?
>However, I'd imagine it would be much easier just to use PalmDebugger and
>the "hd 0" command; it walks the heap and knows about all the different
>versions, plus it tags most of the system's allocations so that you know
>what they all are.
It seems to be broken:
hd 0
Displaying Heap ID: 0000, mapped to 00001800
req act
resType/ #resID/
start handle localID size size lck own flags type index attr
ctg uniqueID name
----------------------------------------------------------------------------
----------------
#ERROR: Invalid flags field in heap header
#ERROR: Invalid size field in heap header
but perhaps there's a way round this ?
The advantage of heapwalking within the app (as opposed to just viewing the
heap with the debugger) is that it makes it easy to write code to compare
heap states.
>PalmDebugger is a quite underappreciated tool, from what I see... and it
>has been available on Windows for some time now, and in my experience is
>extremely stable there. Use it with Pose and do some great low-level
>debugging.
It is a bit hard to find. When I first found references to it in the docs,
I spent a long time looking for a way to start the thing, and I never did
find it on my own - someone told me the secret. Maybe I just missed
something obvious....
Richard
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/