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/

Reply via email to