Guest |
Login
Manx – a catalogue of online computer manuals
Search
|
About
|
Help
Developing Ada Programs on VMS Systems
Company:
Digital Equipment Corporation
Part:
AA-EF86B-TE
Date:
1989-05
Keywords:
VAX
Operating System:
VMS Version 5.0 or higher
Supersedes:
AA-EF86A-TE,
Developing Ada Programs on VAX/VMS
Mentions:
AA-EF86A-TE,
Developing Ada Programs on VAX/VMS
Copies
No copies known to be online.
Table of Contents
Chapter 1
Introduction to the VAX Ada Program Development Environment
1.1
Getting Started with VAX Ada
1.1.1
Creating a Working Directory and Defining a Current Default Directory
1.1.2
Creating a Source File
1.1.3
Creating a Program Library
1.1.4
Defining the Current Program Library
1.1.5
Compiling the Program
1.1.6
Displaying Unit Information
1.1.7
Linking the Program
1.1.8
Executing the Program
1.1.9
Debugging the Program
1.1.10
Compiling and Recompiling a Modified Program
1.2
Using the VAX Ada Program Library Manager
1.2.1
Overview of ACS Commands
1.2.2
Entering ACS Commands
1.2.3
Exiting from the Program Library Manager and Interrupting ACS Commands
1.2.4
Defining Synonyms for ACS Commands
1.2.5
Using DCL Commands with Program Libraries
1.3
Concepts and Terminology
1.3.1
Program and Compilation Units
1.3.1.1
Compilation Unit Dependencies
1.3.1.2
Current and Obsolete Units
1.3.1.3
Unit and File-Name Conventions
1.3.2
Order-of-Compilation Rules
1.3.3
Closure
Chapter 2
Working with VAX Ada Program Libraries and Sublibraries
2.1
Program Library and Sublibrary Operations
2.1.1
Creating a Program Library or Sublibrary
2.1.2
Defining the Current Program Library
2.1.3
Identifying the Current Program Library
2.1.4
Obtaining Library Information
2.1.5
Controlling Library Access
2.1.5.1
Read-Only Access
2.1.5.2
Exclusive Access
2.1.6
Deleting a Program Library or Sublibrary
2.2
Unit Operations
2.2.1
Specifying Units in ACS Commands
2.2.2
Displaying General Unit Information
2.2.3
Displaying Dependence and Portability Information
2.2.4
Checking Unit Currency and Completeness
2.2.5
Using Units from Other Program Libraries
2.2.5.1
Copying Units into the Current Program Library
2.2.5.2
Entering Units into the Current Program Library
2.2.6
Introducing Foreign (Non-Ada) Code into a Library
2.2.7
Deleting Units from the Current Program Library
2.3
Using Program Sublibraries
2.3.1
Using ACS Commands with Program Sublibraries
2.3.2
Creating a Nested Sublibrary Structure
2.3.3
Changing the Parent of a Sublibrary
2.3.4
Merging Modified Units into the Parent Library
2.3.5
Modifying and Testing Units in a Sublibrary Environment
Chapter 3
Compiling and Recompiling VAX Ada Programs
3.1
Compiling Units into a Program Library
3.2
Recompiling Obsolete Units
3.3
Completing Incomplete Generic Instantiations
3.4
Compiling a Modified Program
3.5
Forcing the Compilation or Recompilation of a Set of Units
3.6
Using Search Lists for External Source Files
3.7
Choosing Optimization Options
3.8
Processing and Output Options
3.8.1
Executing Compilations in Batch Mode
3.8.2
Saving the Load or Compiler Command File
3.8.3
Loading Units and Executing Compilations in a Subprocess
3.8.4
Conventions for Defaults, Symbols, and Logical Names
3.8.5
Directing Program Library Manager and Compiler Output
3.9
Compiler Diagnostic Messages
3.9.1
Diagnostic Messages and Their Severity
3.9.2
Informational Messages and the /[NO]WARNINGS Qualifier
3.9.3
Setting Compiler Error Limits
3.10
Compiler Listing Format
Chapter 4
Linking Programs
4.1
Linking Programs Having Only VAX Ada Units
4.2
Linking Mixed-Language Programs
4.2.1
Using the ACS COPY FOREIGN and ENTER FOREIGN Commands
4.2.2
Using the ACS LINK Command
4.2.3
Using the ACS EXPORT and DCL LINK Commands
4.3
Processing and Output Conventions
4.3.1
Conventions for Defaults, Symbols, and Logical Names
4.3.2
Executing the Link Operation in a Subprocess or in Batch Mode
4.3.3
Saving the Linker Command File and Package Elaboration File
Chapter 5
Managing Program Development
5.1
Decomposing Your Program for Efficient Development
5.2
Setting up an Efficient Program Library Structure
5.3
Integration with Other VAX Tools
5.3.1
Setting up Source Code Directories
5.3.2
Managing Source Code Modifications
5.4
System Considerations
5.5
Distributed Programming Considerations
5.5.1
Configuring a Library Structure Across DECnet
5.5.2
Accessing a Program Library Across DECnet
5.5.3
Achieving Efficient DECnet Access to Program Libraries
5.5.4
Effect of Network Failures
5.5.5
Restrictions on Using Program Libraries Across DECnet
5.6
Protecting Program Libraries
5.6.1
Program-Library Access Requirements for ACS Commands
5.6.2
Standard User-Identification-Code (UIC) Based Program Library Protection
5.6.3
Program Library Protection Through Access Control Lists
5.7
Maintaining Program Libraries
5.7.1
Making References to Program Libraries Independent of Specific Devices and Directories
5.7.1.1
Using Concealed-Device Logical Names
5.7.1.2
Using Rooted Directory Syntax
5.7.2
Copying Program Libraries
5.7.3
Backing Up and Restoring Program Libraries
5.7.4
Reorganizing Program Libraries
5.7.5
Verifying and Repairing Program Libraries
5.7.6
Recompiling Units After a New Release or Update of VAX Ada
5.8
Working with Multiple Targets
5.8.1
Determining VAX Ada Program Portability
5.8.1.1
Factors Affecting Portability
5.8.1.2
Features Listed in the Portability Summary
5.8.2
Setting the System Name
Chapter 6
Debugging VAX Ada Programs
6.1
VMS Debugger Overview
6.2
Getting Started with the Debugger
6.2.1
Compiling and Linking a Program to Prepare for Debugging
6.2.2
Starting and Ending a Debugging Session
6.2.3
Entering Debugger Commands
6.2.4
Viewing Your Source Code
6.2.4.1
Noscreen Mode
6.2.4.2
Screen Mode
6.2.4.3
Source Code Display Considerations
6.3
Controlling and Monitoring Program Execution
6.3.1
Starting and Resuming Program Execution
6.3.1.1
The GO Command
6.3.1.2
The STEP Command
6.3.2
Determining Where Execution is Suspended
6.3.3
Suspending Program Execution
6.3.4
Tracing Program Execution
6.3.5
Monitoring Changes in Variables
6.3.6
Debugging Ada Library Packages
6.3.7
Monitoring Ada Exceptions
6.3.7.1
Monitoring Any Exception
6.3.7.2
Monitoring Specific Exceptions
6.3.7.3
Monitoring Handled Exceptions and Exception Handlers
6.4
Examining and Manipulating Data
6.4.1
Displaying the Values of Variables
6.4.2
Changing the Values of Variables
6.4.3
Current, Previous, and Next Locations
6.4.4
Evaluating Expressions
6.4.5
Debugger Support for VAX Ada Data
6.4.5.1
Ada Names
6.4.5.2
Ada Language Expressions
6.4.6
Special EXAMINE, DEPOSIT, and EVALUATE Options
6.4.6.1
Specifying Data Type and Radix
6.4.6.2
Obtaining Virtual Addresses
6.4.7
Ada Data Types---Debugging Examples
6.4.7.1
Scalar Types
6.4.7.2
Array Types
6.4.7.3
Record Types
6.4.7.4
Access Types
6.5
Controlling Symbol References
6.5.1
Creating Symbol Information for the Debugger
6.5.2
Module Setting
6.5.2.1
Dynamic and Related Module Setting
6.5.2.2
The SHOW MODULE Command
6.5.2.3
The SHOW MODULE/RELATED Command
6.5.2.4
The SET MODULE Command
6.5.2.5
The CANCEL MODULE Command
6.5.3
Resolving Multiply-Defined Symbols
6.5.3.1
Scope
6.5.3.2
Path Name Conventions
6.5.3.3
Symbol Lookup Conventions
6.5.3.4
Using the SHOW SYMBOL Command and Path Names to Specify Symbols Uniquely
6.5.3.5
Using the SET SCOPE Command to Specify a Symbol Search Scope
6.5.4
Resolving Overloaded Names and Symbols
6.6
Supplementary Debugger Features
6.6.1
Logging a Debugging Session into a File
6.6.2
Invoking an Editor from the Debugger
6.6.3
Using a Debugger Initialization File
6.6.4
Using Command Procedures to Control Debugging Sessions
6.6.5
The CALL Command
6.7
Sample Debugging Session
Chapter 7
Debugging VAX Ada Tasks
7.1
A Sample Tasking Program
7.2
Referring to Tasks in Debugger Commands
7.2.1
Ada Language Expressions for Tasks
7.2.2
Task ID (%TASK)
7.2.3
Pseudotask Names
7.2.3.1
Active Task (%ACTIVE_TASK)
7.2.3.2
Visible Task (%VISIBLE_TASK)
7.2.3.3
Next Task (%NEXT_TASK)
7.2.3.4
Caller Task (%CALLER_TASK)
7.2.4
Debugger Support of Ada Task Attributes
7.3
Displaying Task Information (SHOW TASK)
7.3.1
Displaying Basic Information on All Tasks
7.3.2
Selecting Tasks for Display
7.3.2.1
Task List
7.3.2.2
Task-Selection Qualifiers
7.3.2.3
Task List and Task Selection Qualifiers
7.3.3
Obtaining Additional Information
7.4
Examining and Manipulating Tasks
7.5
Changing Task Characteristics (SET TASK)
7.6
Setting Breakpoints and Tracepoints
7.6.1
Task-Specific and Task-Independent Debugger Eventpoints
7.6.2
Task Bodies, Entry Calls, and Accept Statements
7.6.3
Monitoring Ada Task Events
7.7
Additional Task-Debugging Topics
7.7.1
Debugging Programs with Deadlock
7.7.2
Debugging Programs that Use Time Slicing
7.7.3
Using CTRL/Y when Debugging Tasks
7.7.4
Automatic Stack Checking in the Debugger
Appendix A
ACS Command Dictionary
($) ADA
ATTACH
CHECK
COMPILE
CONVERT LIBRARY
COPY FOREIGN
COPY UNIT
CREATE LIBRARY
CREATE SUBLIBRARY
DELETE LIBRARY
DELETE SUBLIBRARY
DELETE UNIT
DIRECTORY
ENTER FOREIGN
ENTER UNIT
EXIT
EXPORT
EXTRACT SOURCE
HELP
LINK
LOAD
MERGE
RECOMPILE
REENTER
REORGANIZE
SET LIBRARY
SET PRAGMA
SET SOURCE
SHOW LIBRARY
SHOW PROGRAM
SHOW SOURCE
SHOW VERSION
SPAWN
VERIFY
Appendix B
Debugger Command Summary
B.1
Starting and Terminating a Debugging Session
B.2
Controlling and Monitoring Program Execution
B.3
Examining and Manipulating Data
B.4
Controlling Type Selection and Symbolization
B.5
Controlling Symbol Lookup
B.6
Displaying Source Code
B.7
Using Screen Mode
B.8
Editing Source Code
B.9
Defining Symbols
B.10
Using Keypad Mode
B.11
Using Command Procedures and Log Files
B.12
Using Control Structures
B.13
Additional Commands
Appendix C
Using VAX Ada with the VAX Language-Sensitive Editor and Source Code Analyzer
C.1
Using VAX Ada with LSE
C.1.1
Starting and Ending an Editing Session
C.1.2
Obtaining Help
C.1.3
Entering Source Code Using Tokens and Placeholders
C.1.4
Compiling and Reviewing Source Code
C.1.5
Sample LSE Session
C.2
Using VAX Ada with SCA
C.2.1
Setting Up an SCA Environment
C.2.1.1
Creating an SCA Library
C.2.1.2
Generating Data Analysis Files
C.2.1.3
Loading Data Analysis Files into a Local Library
C.2.2
Using SCA for Cross-Referencing
C.2.2.1
Finding Files
C.2.2.2
Finding Ada Symbols
C.2.2.2.1
Declarations
C.2.2.2.2
References
C.2.2.2.3
Symbol Classes
C.2.3
Navigating Through Ada Source Code
C.2.4
Using SCA for Static Analysis
C.2.5
Multimodular Development
C.2.6
Additional Ada-Specific SCA Considerations
C.2.6.1
Library Differences
C.2.6.2
Ada-Related Effects and Restrictions
Appendix D
Program Library and Sublibrary Structure and Contents
Appendix E
Efficient Compilation
E.1
Memory Usage
E.1.1
Working Sets
E.1.1.1
Effect of Working Set on Paging Rate
E.1.1.2
Effect of Working Set on Compilation Rate
E.1.1.3
Suggestions for Controlling Working Set Sizes
E.1.2
Virtual Address Space
E.2
Resource Requirements
E.2.1
ASTLM---AST Queue Limit Parameter
E.2.2
ENQLM---Enqueue Quota Parameter
E.2.3
FILLM---Open File Limit Parameter
E.2.4
PRCLM---Subprocess Creation Limit Parameter
E.2.5
TQELM---Timer Queue Entry Limit Parameter
E.2.6
Virtual Memory Usage
E.2.6.1
VIRTUALPAGECNT---Maximum Number of Virtual Pages Parameter
E.2.6.2
PGFLQUOTA---Paging File Quota Parameter
E.2.6.3
System Paging File
E.2.6.4
WSQUOTA and WSEXTENT---Working Set Quota and Extent Parameters
E.2.6.5
Batch Queue Parameters
E.2.6.6
WSMAX---Working Set Maximum Number of Pages Parameter
E.2.7
Program Library Networking Effects
E.2.8
Channel Count Parameters
Appendix F
Compile-Time Diagnostic Messages
F.1
Diagnostic Message Format
F.2
Diagnostic Message Severity Codes
F.3
VAX Ada Compiler Informational Messages
F.4
VAX Ada Compiler Diagnostic Messages
Appendix G
ACS Diagnostic Messages
G.1
Diagnostic Message Format
G.2
Diagnostic Message Severity Codes
G.3
ACS Diagnostic Messages
Appendix H
Run-Time Diagnostic Messages
H.1
Diagnostic Message Format
H.2
Diagnostic Message Severity Codes
H.3
VAX Ada Run-Time Diagnostic Messages
Appendix I
Reporting Problems