Skip to content

unix port displays incorrect addresses #1

@mattytrentini

Description

@mattytrentini

mem_usage_render.py always renders address lines with 0x800 increments - correct for 32bit systems but incorrect for 64 bit systems, most predominately the unix port. On these ports, the correct increment is 0x1000.

(Note that mem_dump.py outputs lines correctly as 0x400 and 0x800 for 32/64 bit systems respectively. But mem_usage_render.py combines two lines when rendering to make the output more compact. So the address increment in the render output should be double that of the address increment observed in the memory dump log.)

This would need to be changed in mem_usage_parser/frame_parser.py:75, currently:

addr = len(body) * 0x400 * MULT

Whether it's a 32 or 64 bit system would need to be included in the output of mem_dump.py. It can be determined with the following snippet:

>>> # unix port
>>> import struct 
>>> struct.calcsize("P") * 8
64

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions