VIRTUTECH CONFIDENTIAL    Previous - Up - Next

base-trace-mem-hier

Provided by
trace
Class Hierarchy
conf-objectbase-trace-mem-hier
Interfaces Implemented
None
Description
The base class for the trace mode. This module provides an easy way of generating traces from Simics. Actions traced are executed instructions, memory accesses and, occurred exceptions. Traces will by default be printed as text to the terminal but can also be directed to a file in which case a binary format is available as well. It is also possible to control what will be traced by setting a few of the provided attributes.

Attributes

Attributes inherited from class conf-object
attributes, classname, component, iface, name, object_id, queue
Attribute List
consumer
Session attribute; read/write access; type: Object or Nil.

Optional consumer object. Must implement trace_consume.

data_intervals_p
Session attribute; read/write access; type: [[ii]*].

List of physical address intervals for data tracing. If no intervals are specified, all addresses are traced.

data_intervals_v
Session attribute; read/write access; type: [[ii]*].

List of virtual address intervals for data tracing. If no intervals are specified, all addresses are traced.

enabled
Session attribute; read/write access; type: Integer.

1|0 Set to 1 to enable tracing, 0 to disable.

file
Session attribute; read/write access; type: s|n.

Name of output file that the trace is written to. If the name ends in .gz, the output will be gzipped.

filter_duplicates
Session attribute; read/write access; type: Integer.

1|0 Set to 1 to filter out duplicate trace entries. Useful to filter out multiple steps in looping or repeating instructions.

print_access_type
Session attribute; read/write access; type: Integer.

1|0 Set to 1 to enable printing of the memory access type, 0 to disable.

print_data
Session attribute; read/write access; type: Integer.

1|0 Set to 1 to enable printing of data and instruction op codes, 0 to disable.

print_linear_address
Session attribute; read/write access; type: Integer.

1|0 Set to 1 to enable printing of the linear address, 0 to disable.

print_memory_type
Session attribute; read/write access; type: Integer.

1|0 Set to 1 to enable printing of the linear address, 0 to disable.

print_physical_address
Session attribute; read/write access; type: Integer.

1|0 Set to 1 to enable printing of the physical address, 0 to disable.

print_virtual_address
Session attribute; read/write access; type: Integer.

1|0 Set to 1 to enable printing of the virtual address, 0 to disable.

raw_mode
Session attribute; read/write access; type: Integer.

1|0 Set to 1 for raw output format, and 0 for ascii. Raw output format is only supported when writing to a file.

trace_data
Session attribute; read/write access; type: Integer.

1|0 Set to 1 to enable tracing of data, 0 to disable.

trace_exceptions
Session attribute; read/write access; type: Integer.

1|0 Set to 1 to enable tracing of exceptions, 0 to disable.

trace_instructions
Session attribute; read/write access; type: Integer.

1|0 Set to 1 to enable instruction tracing, 0 to disable.

Command List

Commands
startcontrol default tracer
stopstop default tracer

Command Descriptions

<base-trace-mem-hier>.start
Alias
<base-trace-mem-hier>.trace-start
Synopsis
<base-trace-mem-hier>.start [file] [-raw] [-same]
<base-trace-mem-hier>.stop
Description
An installed tracer is required for this commands to work. Use the command new-tracer to get a default tracer.

The start command turns on the tracer. The tracer logs all executed instructions, memory accesses and exceptions. The output is written to file (appended) if given, otherwise to standard output. If the -raw flag is used, each trace entry is written in binary form; i.e., a struct trace_entry. This structure can be found in trace_api.h. Raw format can only be written to file.

If the -same flag is used, you will get the same output file and mode as the last time.

stop switches off the tracer and closes the file. Until you have given the stop command, you can not be sure that the entire trace has been written to the file.

See Also
new-tracer
<base-trace-mem-hier>.stop
Alias
<base-trace-mem-hier>.trace-stop
Synopsis
<base-trace-mem-hier>.stop
<base-trace-mem-hier>.start [file] [-raw] [-same]
Description
An installed tracer is required for this commands to work. Use the command new-tracer to get a default tracer.

The start command turns on the tracer. The tracer logs all executed instructions, memory accesses and exceptions. The output is written to file (appended) if given, otherwise to standard output. If the -raw flag is used, each trace entry is written in binary form; i.e., a struct trace_entry. This structure can be found in trace_api.h. Raw format can only be written to file.

If the -same flag is used, you will get the same output file and mode as the last time.

stop switches off the tracer and closes the file. Until you have given the stop command, you can not be sure that the entire trace has been written to the file.

See Also
new-tracer

VIRTUTECH CONFIDENTIAL    Previous - Up - Next