[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]

General Programming Concepts:
Writing and Debugging Programs

Contents

About This Book
Who Should Use This Book
Highlighting
Case-Sensitivity in AIX
ISO 9000
Related Publications
Tools and Utilities
Entering a Program into the System
Checking a Program
Compiling and Linking a Program
Subroutines
Shell Commands
Related Information
Curses Library
Terminology
Naming Conventions
Structure of a Curses Program
Return Values
Initializing Curses
Windows in the Curses Environment
Manipulating Window Data with Curses
Controlling the Cursor with Curses
Manipulating Characters with Curses
Understanding Terminals with Curses
Working with Color
Manipulating Video Attributes
Manipulating Soft Labels
Curses Compatibility
List of Additional Curses Subroutines
Debugging Programs
adb Debug Program Overview
Getting Started with the adb Debug Program
Controlling Program Execution
Using adb Expressions
Customizing the adb Debug Program
Computing Numbers and Displaying Text
Displaying and Manipulating the Source File with the adb Program
adb Debug Program Reference Information
Example adb Program: adbsamp
Example adb Program: adbsamp2
Example adb Program: adbsamp3
Example of Directory and i-node Dumps in adb Debugging
Example of Data Formatting in adb Debugging
Example of Tracing Multiple Functions in adb Debugging
dbx Symbolic Debug Program Overview
Using the dbx Debug Program
Displaying and Manipulating the Source File with the dbx debug Program
Examining Program Data
Debugging at the Machine Level with dbx
Customizing the dbx Debugging Environment
List of dbx Subcommands
Related Information
Error-Logging Overview
Error-Logging Facility
Managing Error Logging
Error Notification
Error Logging Tasks
Error Logging and Alerts
Error Logging Controls
Related Information
File Systems and Directories
File Types
JFS Directories
JFS2 Directories
Working with JFS i-nodes
Working with JFS2 i-nodes
JFS File Space Allocation
JFS2 File Space Allocation
Writing Programs That Access Large Files
Linking for Programmers
Using File Descriptors
File Creation and Removal
Working with File I/O
File Status
File Accessibility
JFS File System Layout
JFS2 File System Layout
Creating New File System Types
Major Control Block Header Files
Related Information
Floating-Point Exceptions
Floating-Point Exception Subroutines
Floating-Point Trap Handler Operation
Related Information
Input and Output Handling
Low-Level I/O Interfaces
Stream I/O Interfaces
Terminal I/O Interfaces
Asynchronous I/O Interfaces
Large Program Support
Understanding the Large Address-Space Model
Understanding the Very Large Address-Space Model
Enabling the Large and Very Large Address-Space Models
Executing Programs with Large Data Areas
Related Information
Parallel Programming
Understanding Threads
Thread Programming Concepts
Writing Reentrant and Thread-Safe Code
Developing Multi-Threaded Programs
Developing Multi-Threaded Program which examines and modifies pthread library objects
Developing Multi-Threaded Program Debuggers
Multi-Threaded Call Back Functions
Benefits of Threads
Related Information
Programming on Multiprocessor Systems
Identifying Processors
Controlling Processor Use
Dynamic Processor Deallocation
Creating Locking Services
Kernel Programming
Related Information
Threads Programming Guidelines
Related Information
Thread Implementation Model
Thread-safe and Threaded Libraries in AIX
Threads Versions On AIX
Threads Basic Operation Overview
Creating Threads
Terminating Threads
List of Threads Basic Operation Subroutines
Synchronization Overview
Using Mutexes
Using Condition Variables
Using Read Write Locks
Joining Threads
List of Synchronization Subroutines
Scheduling Overview
Threads Scheduling
Synchronization Scheduling
List of Scheduling Subroutines
Threads Advanced Features
One-Time Initializations
Thread-Specific Data
Advanced Attributes
Making Complex Synchronization Objects
List of Threads Advanced-Feature Subroutines
Threads-Processes Interactions Overview
Signal Management
Process Duplication and Termination
Scheduling
List of Threads-Processes Interactions Subroutines
Threads Library Options
Threads Library Quick Reference
lex and yacc Program Information
Creating an Input Language with the lex and yacc Commands
Using the lex Program with the yacc Program
Example Program for the lex and yacc Programs
Related Information
Logical Volume Programming
List of Logical Volume Subroutines
Related Information
make Command
Creating a Description File
Internal Rules for the make Program
Defining and Using Macros in a Description File
How the make Command Creates a Target File
Using the make Command with Source Code Control System (SCCS) Files
Description Files Stored in the Source Code Control System (SCCS)
Using the make Command with Non-Source Code Control System (SCCS) Files
How the make Command Uses the Environment Variables
Example of a Description File
m4 Macro Processor Overview
Using the m4 Macro Processor
Creating a User-Defined Macro
Using a Built-In m4 Macro
List of Additional m4 Macros
Object Data Manager (ODM)
ODM Object Classes and Objects
ODM Descriptors
ODM Object Searches
List of ODM Commands and Subroutines
ODM Example Code and Output
Related Information
Dynamic Logical Partitioning
DLPAR-Safe and -Aware Programs
Processor Bindings
Integrating the DLPAR Operation into the Application
Actions Taken by DLPAR Scripts
Making Kernel Extensions DLPAR-Aware
Related Information
sed Program Information
Manipulating Strings with sed
Shared Libraries and Shared Memory
Shared Objects and Runtime Linking
Shared Libraries and Lazy Loading
Creating a Shared Library
Program Address Space Overview
Understanding Memory Mapping
Inter-Process Communication (IPC) Limits
Creating a Mapped Data File with the shmat Subroutine
Creating a Copy-On-Write Mapped Data File with the shmat Subroutine
Creating a Shared Memory Segment with the shmat Subroutine
Paging Space Programming Requirements
List of Memory Manipulation Services
List of Memory Mapping Services
Related Information
System Memory Allocation Using the malloc Subsystem
Working with the Heap in 32-bit Applications
Working with the Heap in 64-bit Applications
Understanding System Allocation Policy
User-Defined Malloc Replacement
Debug Malloc Tool
Malloc Multiheap
Malloc Buckets
Malloc Report
Malloc Trace
Malloc Log
Malloc Disclaim
Packaging Software for Installation
Installation Procedure Requirements
Package Control Information Requirements
Format of a Software Package
Package Partitioning Requirements
Software Vital Product Data (SWVPD)
Software Product Packaging Parts
Package and File Set Naming Conventions
File Set Revision Level Identification
Contents of a Software Package
The lpp_name Package Information File
The liblpp.a Installation Control Library File
Further Description of Installation Control Files
Installation Control Files Specifically for Repackaged Products
Installation Files for Supplemental Disk Subsystems
Format of Distribution Media
Tape
CD-ROM
Diskette
The Table of Contents File
The installp Processing of Product Packages
Installation Commands Used During Installation and Update Processing
Documentation Library Service
Language Support
Writing your HTML Documents
Making your Documents Printable
Calling the Documentation Library Service From Your Documentation
Creating Indexes of your Documentation
Removing Indexes of your Documentation
Packaging your Application's Documentation
Source Code Control System (SCCS)
Introduction to SCCS
SCCS Flag and Parameter Conventions
Creating, Editing, and Updating an SCCS File
Controlling and Tracking SCCS File Changes
Detecting and Repairing Damaged SCCS Files
List of Additional SCCS Commands
Related Information
Subroutines, Example Programs, and Libraries
128-Bit Long Double Floating-Point Data Type
List of Character Manipulation Subroutines
List of Executable Program Creation Subroutines
List of Files and Directories Subroutines
List of FORTRAN BLAS Level 1: Vector-Vector Subroutines
List of FORTRAN BLAS Level 2: Matrix-Vector Subroutines
List of FORTRAN BLAS Level 3: Matrix-Matrix Subroutines
List of Numerical Manipulation Subroutines
List of Long Long Integer Numerical Manipulation Subroutines
List of 128-Bit Long Double Numerical Manipulation Subroutines
List of Processes Subroutines
List of Multi-threaded Programming Subroutines
List of Programmer's Workbench Library Subroutines
List of Security and Auditing Subroutines
List of String Manipulation Subroutines
Programming Example for Manipulating Characters
Searching and Sorting Example Program
List of Operating System Libraries
librs2.a Library
Related Information
System Management Interface Tool (SMIT)
SMIT Screen Types
SMIT Object Classes
SMIT Aliases and Fast Paths
SMIT Information Command Descriptors
SMIT Command Generation and Execution
Adding Tasks to the SMIT Database
Debugging SMIT Database Extensions
Creating SMIT Help Information for a New Task
sm_menu_opt (SMIT Menu) Object Class
sm_name_hdr (SMIT Selector Header) Object Class
sm_cmd_opt (SMIT Dialog/Selector Command Option) Object Class
sm_cmd_hdr (SMIT Dialog Header) Object Class
SMIT Example Program
Related Information
System Resource Controller
Subsystem Interaction with the SRC
SRC Objects
SRC Communication Types
Programming Subsystem Communication with the SRC
Defining Your Subsystem to the SRC
List of Additional SRC Subroutines
Related Information
Trace Facility
The Trace Facility Overview
Controlling the Trace
Recording Trace Event Data
Generating a Trace Report
Extracting trace data from a dump
Trace Facility Commands
Start the Trace Facility
Related Information
tty Subsystem
TTY Subsystem Objectives
Line Discipline Module (ldterm)
Converter Modules
TTY Drivers
Related Information
Loader Domains
Using Loader Domains
Creating/Deleting Loader Domains
Appendix A. High-Resolution Time Measurements Using POWER-based Time Base or POWER family Real-Time Clock
Appendix B. Trace Hook Identifiers
Trace Hook IDs: 001 through 10A
Trace Hook IDs: 10B through 14E
Trace Hook IDs: 152 through 19C
Trace Hook IDs: 1A4 through 1BF
Trace Hook IDs: 1C8 through 1CE
Trace Hook IDs: 1CF through 211
Trace Hook IDs: 212 through 220
Trace Hook IDs: 221 through 223
Trace Hook IDs: 224 through 226
Trace Hook IDs: 230 through 233
Trace Hook IDs: 240 through 252
Trace Hook IDs: 253 through 25A
Trace Hook IDs: 271 through 280
Trace Hook IDs: 301 through 315
Trace Hook IDs: 3C5 through 3E2
Trace Hook IDs: 401
Trace Hook IDs: 402
Trace Hook IDs: 403
Trace Hook IDs: 404
Trace Hook IDs: 405
Trace Hook IDs: 406
Trace Hook IDs: 407
Trace Hook IDs: 408
Trace Hook IDs: 409
Trace Hook IDs: 411 through 418
Trace Hook IDs: 460 through 46E
Trace Hook IDs: 5A0 through 5A4
Appendix C. Notices
Trademarks
Index

[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]