Skip to content

Create UI/API for retrieving the next/last access to a memory location with TTD in an efficient way #997

@xusheng6

Description

@xusheng6

I noticed a commonly used workflow is to find the next/last memory access in before or after the current time stamp. While this can be done by pulling all of the accesses, and then find the one that is before or after the current timestamp, it is very repetitive. For example,

dx @$cursession.TTD.Memory(addr1, addr2, "w").Last()

It works, but it is very inefficient because it unnecessarily collects all of the results

We should use PrevMemoryAccess and NextMemoryAccess instead

>>> dx @$curprocess.TTD.NextMemoryAccess("r", 0x7ff7e2242220, 0x1)

@$curprocess.TTD.NextMemoryAccess("r", 0x7ff7e2242220, 0x1) : [UTID 2] Read 0x7ff7e2242220 1 bytes [16:18] -> [29:23B]
    Position         : 29:23B
    OriginalPosition : 16:18
    UniqueThreadId   : 0x2
    Address          : 0x7ff7e2242220
    Size             : 0x1
    AccessType       : Read

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions