# 16.2 Opcode traces

The 'at' command is the one used to get information about the executed opcodes while debugging. It registers memory ranges and it is useful to determine which parts of the program are executed under a debugging session.

    [0x465D8810]> at?
    Usage: at[*] [addr]
       > at?                ; show help message
       > at                 ; list all traced opcode ranges
       > at-                ; reset the tracing information
       > at*                ; list all traced opcode offsets
       > at+ [addr] [times] ; add trace for address N times
       > at [addr]          ; show trace info at address
       > atd                ; show disassembly trace
       > atD                ; show dwarf trace (at*|rsc dwarf-traces $FILE)

    [0xB7F93A60]> at
    0xb7f93810 - 0xb7f93817
    0xb7f93a60 - 0xb7f93b8b
    0xb7f93b95 - 0xb7f93b9f
    0xb7f93ba9 - 0xb7f93bd3
    0xb7f93be1 - 0xb7f93c63
    0xb7f93c70 - 0xb7f93c80
    0xb7f93c93 - 0xb7f93d1e
    0xb7f93d23 - 0xb7f93db8

To reset this information just type 'at-'. There are API functions to get this information from python, lua, etc..

- 16.2.1 Trace analysis