📄 xds.err
字号:
unit for each call) on the program-unit.
The time-range is used in the same way as
described in the DEMAND profiling.
EXCLUDE - remove program-unit from the profiling list.
INCLUDE - add the program-unit to the profiling list.
Flat and call graph profiling will be done.
[Press RETURN to continue]
#h
PROFILE (CONTINUED):
A program-unit can be:
root - all functions within the program
module - all functions within the module
function - a specific function
line number range - section of code
address range - section of code
Program loading does not remove the define list or clear
existing profiling data.
> prof on
> prof include=@sieve\\, MOD1\#23..#36, 0x2300..0x237f
> prof demand=MOD2\func,2000..3500
#h
QUIT (Q):
QUIT [y]
The QUIT command exits a debugging session without saving
the session. To avoid the "Are you sure?" prompt, enter 'y'
when you issue the QUIT command.
> q y
#h
RAMACCESS (RA):
RAMACCESS [address | address_range] [{, | =}
{copy | map | target | unknown} [= bank_range]]
The RAMACCESS command specifies a memory location or a range
of memory locations that can be accessed during execution of
the target program without guarding. If no parameters are
specified, a memory map is displayed in the command
viewport. The 'map' and 'copy' sub-commands are used to map
the specified range to emulator memory, and 'copy' copies
the memory from target. The 'target' and 'unknown' sub-
commands are used to specify memory is in target or unknown.
> ram =target
#h
RELOAD (REL):
RELOAD [/C] [/D] [/R] [root]
The RELOAD command allows reloading of the image part of an
absolute file, or only selected segments of the image. If
root is specified, it identifies a root module (default is
current root). The /C option loads only the code section,
The /D option reloads only data, and the /R option resets
the program counter to the start location.
> reload /C /R
#h
RESET (RESE):
RESET
The RESET command simulates a microprocessor reset operation
by restoring the microprocessor to its initial state. (1) PC
is loaded from exception vector 1 at location 4. (2) SSP is
loaded from exception vector 0 at location 0. (3) Breakpoints
are not cleared. (4) Cycle count is set to 0. (5) Any pending
interrupt or exception is cleared. Since memory is not
re-initialized upon use of the RESET command, C variables
are not reset to their original values. Use 'LOAD/NS
filename' to reset C variables.
> rese
#h
RESTART (REST):
RESTART
The RESTART command resets the program counter to the
original starting address from the absolute file. This
causes the next GO or GOSTEP command to restart execution at
the beginning of the program. Breakpoints are not cleared,
and all declared I/O ports still exist as originally
specified. Use 'LOAD/NS filename' to reset C variables.
> rest
#h
RESTORE (RESTO):
RESTORE [save_filename] [, file_format]
The RESTORE command is used to restore the memory and
registers saved with the SAVE command. If a filename is not
specified, the default filename 'XRAY.SAV' is used. If the
save file format is not specified, the default XRAY save
file format is used. Consult the XRAY manual for file
formats and all saved information.
> restore
#h
RIN (RI):
RIN port_address
The RIN command rewinds an input file or resets the pointer
to the input string associated with the input port.
> rin 3
#h
ROM (ROM):
ROMACCESS [address | address_range] [{, | =}
{copy | map | target | unknown} [= bank_range]]
The ROMACCESS command specifies a memory location or range
of memory locations that are guarded against writes during
execution of the target program. If no parameters are
specified, a memory map is displayed in the command
viewport. The 'map' and 'copy' sub-commands are used to map
the specified range to emulator memory, and 'copy' copies
the memory from target. The 'target' and 'unknown' sub-
commands are used to specify memory is in target or unknown.
> rom 0x4000..4100h,map
#h
ROUT (ROU):
ROUT port_address
The ROUT command rewinds an output file associated with an
output port, specified by 'port_address'. Subsequent output
to that port starts at the beginning of the file.
> rou 3
#h
SAVE (SA):
SAVE [save_filename] [, file_format]
The SAVE command is used to save the current memory and
registers; it may be later restored with the RESTORE
command. If a filename is not specified, the default
filename 'XRAY.SAV' is used. If the save file format is not
specified, the default XRAY save file format is used.
Consult the XRAY manual for file formats and all saved
information.
> save
#h
SCOPE (SC):
SCOPE [/F | [root_name\\] module_name |
[[root_name\\] module_name\] procedure_name |
(expression) | @stack_level | #line_numer]
The SCOPE command allows you to change the default module
and procedure for scope resolution. The current module
(the one to which the program counter is pointing) is the
default when line numbers and local symbols are referenced
without a module or procedure qualifier. When using the
expression form, the expression must be a legal code
address for the current mode.
[Press RETURN to continue]
#h
SCOPE (continued):
To SCOPE to another stack level, use it's number from the
TRACE viewport.
The /F switch must be used without other arguments,
and indicates to scope to the next file (see CONTEXT).
> sc PRINTS\prints ; from OUTCHRX\outchr
> sc (I A) 0x3000 ; scope to module at address 3000h
> sc #37 ; scope to a line number
#h
SEARCH (SEA):
SEARCH [/B | /W | /L] [/R] [address_range
[= {expression | expression_string} ]]
The SEARCH command searches a memory area for the specified
expression or 'expression_string'. Zero is the default if no
expression or expression_string is specified. The size of an
expression or each expression in an expression string is
indicated by (B=BYTE, W=WORD, L=LONG). The default size is
BYTE. SEARCH without parameters continues the last search
or the /R option will check the entire range.
> sea/w/r 0x2000..0x2100 = 0x2d7c,0
#h
SETMEM (SM):
SETMEM [/B | /W | /L] address
[= {expression | expression_string} [,...]]
The SETMEM command changes the contents of the specified
memory location to the value or values defined by
'expression' or 'expression_string'. The size of the value
is specified by one of the size flags (B=BYTE, W=WORD,
L=LONG). The default size is BYTE. The SETMEM command does
not recognize variable typing as it is an assembly-level
memory setting routine.
> setm/w 0x4000 = 0x2d7c,"abcd",0
#h
SETREG (SR):
SETREG [register_name [=value]]
The SETREG command changes the contents of a register,
status flag, or other debugger variable such as cycle count.
The new contents are defined by 'value'. If 'value' is not
specified, values are entered interactively. The up and down
arrow keys can be used to move through memory without
changing it. The program counter(PC) is displayed if you do
not indicate 'register_name'.
> sr @z = 1
#h
SETSTATUS (SS):
SETSTATUS identifier [,sub-identifier] [=value]
The SETSTATUS command is used to set the status of objects
in the debugger or target. The list of possible identifiers
is shown in the documentation and in the following pages.
The current directory may be examined or set with this
command: "SETSTATUS dir [=new_local_dir]".
> ss dir=\new\workdir
#h
SETSTATUS EHSDEBUG (SS EHS):
SETSTATUS EHSDEBUG [ON | OFF]
The SETSTATUS EHSDEBUG command enables and disables
debugging of C++ high-level exceptions. When enabled, it
allows XRAY to step at high level even when exceptions are
being thrown, and allows exception breakpoints which will
halt execution when an exception is thrown or caught.
Enabling EHSDEBUG ties up one target breakpoint;
disabling EHSDEBUG frees it again.
> ss ehs on
> ss ehs off
#h
SETSTATUS ENV (SS ENV)
SETSTATUS ENV [= "path[:path...]" ]
The SETSTATUS ENV command changes the path set by the XRAY
environment variable. If a new path is not specified the
internal path is set back to the value of the XRAY variable.
Use STATUS SEARCH to display the current internal path. Add
double quotes if the path contains unacceptable characters
such as '/'.
> ss env "@:src"
#h
SETSTATUS DIR (SS DIR)
SETSTATUS DIR [= new_local_dir]
The SETSTATUS DIR command displays the current local
directory. If new_local_dir is specified then your current
directory is changed to the value of new_local_dir. Add
double quotes if the path contains unacceptable characters
such as a '/'.
> ss dir = "../testsrc"
#h
SETSTATUS EVENT (SS EV):
SETSTATUS EVENT{n}[,CLEAR | ,REDEFINE]
= {event_list | CLEAR | RESET}
The SETSTATUS EVENT command defines an event that will
trigger trace or qualify data capture and display. CLEAR
turns off a previous definition and REDEFINE updates a
trigger/qualifier definition.
CLEAR resets an event to its default value. RESET reloads
the counter with the count value specified in its definition.
event_list is: event_definition ,...
[press RETURN to continue]
#h
SETSTATUS EVENT (continued):
event_definition is [addr | data | status | count | size],...
addr: ADDR {== | !=} {value [&= value_mask] | value_range}
data: DATA {== | !=} {value [&= value_mask] | value_range}
stat: STAT {== | !=} {status_flag [ | status_flag] ...}
count: COUNT == value
size: SIZE == {0 | 1 | 2 | 4}
Trace capabilities, including the number of events
supported, vary with each execution environment. Command
'stat trace,facility' defines the capabilities.
[press RETURN to continue]
#h
SETSTATUS EVENT (continued):
A value is a 32-bit number and a value_range is two values
separated by '..'.
0 bits in a value_mask indicate the don't care bits in the
value. e.g. addr==0x2345&=0xFFFFFFC0 defines an address
range between 0x2340 and 0x237F.
Each term cannot appear more than once in a definition.
An event is true if and only if all specified terms are true.
An event must occur count times before it is recognized.
Status flags include: READ, WRITE, FETCH, ACCESS, WDATA,
WCODE, and other processor dependent values.
> ss ev{1} = addr == &structa, stat==rud | wud, count==4
#h
SETSTATUS QUALIFY (SS QUAL):
SETSTATUS QUALIFY = {event_expression | CLEAR}
The SETSTATUS QUALIFY command defines the type of bus data
to collect when the trace mechanism is enabled. Only cycles
matching the conditions specified by the event_expression
are collected. The count field of an event is not used in
trace qualifying. CLEAR restores qualification to the default
state of storing everything.
> ss qual = ev{3} | ev{5} | ev{4}
#h
SETSTATUS TRACE (SS TRAC):
SETSTATUS TRACE [{= {ON | OFF | CLEAR | RESET} | ,{store
| buf | trig | bus | pref | align | sim}}]
Trace capabilities vary with each execution environment.
Command 'stat trace,facility' defines the capabilities.
ss trace= {ON | OFF} turns trace on or off
ss trace= {CLEAR | RESET} clears the buffer or also resets
all options listed below to the default condition
ss trace,STORE= {BEFORE | CENTER | AFTER | count} retains
all (BEFORE) or some previously recorded frames
ss trace,BUFFER=size sets the number of trace buffer frames
ss trace,TRIG={REARM | DISARM} reset state of fired trigger
[press RETURN to continue]
#h
SETSTATUS TRACE (continued):
The following options force the displayed data to look more
like what actually happens in the hardware:
ss trace,BUSSIZE={1 | 2 | 4} sets the size of the bus.
ss trace,PREFETCH={ON | OFF} controls prefetch simulation.
ss trace,ALIGN={ON | OFF} forces processor alignment rules
during simulation.
> ss trace, buffer=2048
#h
SETSTATUS TRIGGER (SS TRIG):
SETSTATUS TRIGGER{n} { , DISARM = trig_setup
| = {trig_setup | CLEAR | RESET | ARM | DISARM}}
trig_setup: event_seq [,action_list] [;collect]
event_seq: event_exp => event_exp [=> event_exp...] where
event_exp is OR related events and => says AND_THEN
action_list:
{TRON | TROFF | STOP | arm | disarm | assert} ,...
collect: {BEFORE | CENTER |
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -