Mode :
Check : XHTML 1.0 Strict

INQUEST user and reference manual

October 1995
INMOS document number: 72-TDS-405-05
124 Pages

© SGS-Thomson 1995.

Preface

frontcover 72-TDS-405-05

The INQUEST Development Environment is a collection of powerful software development tools designed to help you build fast, bug-free code, including a debugger and performance monitors. This document contains user guides and reference material about the INQUEST tools.

Chapters 2 to 4 describe the INQUEST debugger. Chapter 2 describes the structure of the debugger and how to use the buttons, menus and mouse features. Chapter 3 describes the underlying command language which extends and complements the buttons, menus and mouse features for the advanced user. Scripts can be written in the command language using the programming constructs described in chapter 4.

For a tutorial introduction to the INQUEST debugger, see the INQUEST Debugger Tutorial.

Chapter 5 describes the libraries supplied with INQUEST to assist with debugging. Chapter 6 describes the three execution analysis tools. Chapter 7 describes the network analyzer.

Contents

	Preface

	1	Introduction

	2	Debugging
		2.1	Introduction
			2.1.1	Interactive debugging
			2.1.2	Post-mortem debugging
			2.1.3	Transputer versions
		2.2	Preparing a program for interactive debugging
		2.3	Running interactive debugging
			2.3.1	Example inquest command lines
			2.3.2	Errors detected by the processor
					T2/T4/T8-series except T450
					ST20450 T450
					T9000-series
		2.4	Post-mortem debugging
			2.4.1	Debugging after an interactive session
			2.4.2	Debugging after normal execution
			2.4.3	Example inquest command lines
			2.4.4	Proceeding after analyzing
			2.4.5	Debugging using a dump file
					Creating a dump file
					Using the dump file
		2.5	Debugging multi-threaded programs
			2.5.1	Shared code
			2.5.2	Processes
			2.5.3	Threads
					Stopped threads
					Alt-waiting, chan-waiting, timer-waiting and scheduled threads
					Stepping
					Running
			2.5.4	Initial process states
		2.6	Debugging facilities
			2.6.1	Breakpoints
			2.6.2	Single stepping
			2.6.3	Watchpoints
			2.6.4	Interrupting
			2.6.5	Thread monitors
			2.6.6	Stack tracing
			2.6.7	Examining variables
			2.6.8	Jumping down a channel
			2.6.9	Low level features
		2.7	The debugger display
			2.7.1	The browser window
			2.7.2	The attribute window
			2.7.3	The code window
			2.7.4	The output window
					Confirmations
					Output and error messages
					Events
			2.7.5	The command window
			2.7.6	Hexadecimal numbers
		2.8	The browser
			2.8.1	Program level
			2.8.2	Process level
			2.8.3	Thread level
			2.8.4	Frame level
			2.8.5	Code display
		2.9	Debugger operations
			2.9.1	File menu
			2.9.2	Execution menu
			2.9.3	Events menu
			2.9.4	Variables menu
			2.9.5	Options menu
			2.9.6	Windows menu

	3	Debugger command language
		3.1	Specifying an object
			3.1.1	Specifying a statement
			3.1.2	Specifying a processor, process, thread or frame
			3.1.3	Specifying a symbol
			3.1.4	Specifying a variable
			3.1.5	Specifying an address
		3.2	Command scope arguments
			3.2.1	Browser state
			3.2.2	Effect of command scope
			3.2.3	Processor identifier
		3.3	Command descriptions
			3.3.1	Stopping and starting
			3.3.2	Showing and setting state
			3.3.3	Thread control
			3.3.4	Setting, listing and cancelling events
			3.3.5	Examination and update of variables
			3.3.6	Stack examination
			3.3.7	Low level commands
			3.3.8	Mapping commands

	4	Command language programming
		4.1	Comments
		4.2	Variables
		4.3	Operators
		4.4	Sequencing
		4.5	Conditional commands
		4.6	Looping commands
		4.7	Procedures
			4.7.1	Arguments and returned values
			4.7.2	Invoking procedures
		4.8	Event arrival
		4.9	Built-in procedures
		4.10	Example debugging scripts
			4.10.1	Example 1
			4.10.2	Example 2
			4.10.3	Example 3
			4.10.4	Example 4
			4.10.5	Example 5
			4.10.6	Example 6
			4.10.7	Example 7
			4.10.8	Example 8
			4.10.9	Example 9
			4.10.10	Example 10
			4.10.11	Example 11
			4.10.12	Example 12
		4.11	Start-up scripts

	5	Debugging libraries
		5.1	Debugging support library
			5.1.1	Examples
			5.1.2	Action when not debugging
		5.2	Dynamic code loading support
			5.2.1	Loading processes
			5.2.2	Unloading processes
			5.2.3	INQUEST behavior with dynamically loaded code
		5.3	Dynamic thread creation
			5.3.1	Thread birth
			5.3.2	Death
			5.3.3	Example: creating a thread of execution
			5.3.4	Example: installing an ST20450 interrupt handler

	6	Execution analysis
		6.1	The execution profiler iprof
			6.1.1	How it works
			6.1.2	Preparing programs
			6.1.3	Running iprof
			6.1.4	Example iprof command line sequences
			6.1.5	Output
		6.2	The utilization monitor imon
			6.2.1	Preparing programs
			6.2.2	Running imon
			6.2.3	Example imon command line sequences
			6.2.4	Output
		6.3	The test coverage and block profiling tool iline
			6.3.1	Preparing for profiling
			6.3.2	Command line
			6.3.3	ANSI C compiler feedback
			6.3.4	Test coverage
			6.3.5	Summation files
			6.3.6	Accumulating results
			6.3.7	Selecting processors

	7	Network analyzer
		7.1	Running the network analyzer
			7.1.1	Environment variables
			7.1.2	Starting rspy
			7.1.3	The rspy command line
		7.2	Network analyzer output
			7.2.1	Hardware connection description
			7.2.2	C configurer-style hardware description
			7.2.3	occam configurer-style hardware description
		7.3	IMS C004 link switch support
			7.3.1	Switch file example
			7.3.2	Switch file syntax
		7.4	Memory
			7.4.1	How it works
			7.4.2	Output
			7.4.3	Termination characters
			7.4.4	Example memory sizing output
			7.4.5	Command line options
		7.5	User supplied .rsc code

	Appendices

	A	Debugger command language syntax

	B	Glossary

	Index

arrow upBack to the top

Last modification: 11/27/2020 6:08:26 PM