Dynamic Probe Class Library Programming Guide
This book describes the Dynamic Probe Class Library (DPCL). It shows
how a C++ program can call DPCL functions to dynamically insert and remove
instrumentation code patches, or "probes", into a running application.
This book is designed as a companion volume to the DPCL Class
Reference. In contrast to the DPCL
Class Reference (which provides detailed, alphabetically-ordered, information about each DPCL
function), this book describes DPCL at a higher level. While not as
detailed as the reference, this book provides an overview of the tasks a
program can perform using DPCL, and describes the DPCL classes and functions
related to each task.
By focusing on the tasks that a program can perform, this book provides the
context necessary to understand how the various classes and functions of DPCL
work together to accomplish specific goals. Once you understand the
tasks that your program can perform, and know which classes need to be
instantiated and which functions need to be called in order to perform each
task, you can refer to the DPCL Class Reference for any additional, more specific, information you require.
This book is intended for C++ application developers working
in an UNIX environment. You should, therefore, understand the C++
programming language and the UNIX operating system before reading this
book. Furthermore, if you plan to use the DPCL to instrument parallel
programs, you should understand parallel-programming concepts, and if you plan
to run these programs in the Parallel Environment, you should also understand
the Parallel Environment and the Parallel Operating Environment. Where
necessary, this book provides some background information relating to these
issues. More commonly, this book refers you to the appropriate
documentation.
This book is organized into three main parts - the first part
contains a general overview of basic terms and concepts, the second part
provides instructions for performing standard DPCL programming tasks, and the
third part provides instructions for performing additional, more-advanced
and/or less-commonly performed, DPCL programming tasks. In addition to
these three main parts, this book has a forth part consisting of appendixes
-- a sample DPCL application, a listing of DPCL status codes, a glossary
of terms, and a detailed index.
Throughout this book, C++ code examples illustrate various features of
DPCL. Please note that these examples do not perform rigorous error
checking and are provided for illustration only.
This book contains the following information:
- DPCL Concepts and Overview contains three chapters designed to provide you with a
general introduction and overview of the Dynamic Probe Class Library.
This section contains the following chapters:
- Chapter 1, What is DPCL? describes the basic, yet central, concepts you need to
understand in order to use DPCL. It provides a high-level description
of how a program can use the classes and member functions of DPCL to
instrument another application. This chapter also introduces and
defines the DPCL terminology that is used throughout this book, and, in doing
so, describes the various parts of the DPCL software system and illustrates
how these parts work together to instrument a program.
- Chapter 2, What are the DPCL classes? builds on the overview of the DPCL system contained in Chapter 1, What is DPCL? by describing the DPCL classes that
represent the elements of the DPCL systeme thr0000"it
so, descstand
purpo!-- suppora lisdata type terms,mber functiond to DPCL ogram.
- Cha3terAf the hellopartldent a prDPCL?usscribesfamiliar "HellopWrtld"these exetherles illusts
PCL to
instrumer C++ applicaform using. Unlikxetrang addit "HellopWrtld"allel
progrhat hese exeow a prodoclasot itselfeowitruroughoe re rm u"HelloalleWrtld"ystesteadgrhat ow a prots resigned the "targes tha C++ applic"ysWe). It
of ent anoow a pro(w1, w to beed the tha"aditysictiool")ogramally inse e
instrumentation code (o be caas, or "")CL to
you totargesother applicatioxeow be, frome youinou totarges tha C++ applic,e ybeeseent and"HellopWrtld"tre rm usomes you to ditysic plan
ologram.
- Sing standard rary ProgramTing rview conthree chaptery describingless-cn the tasks tlrallel
pro?tuilddard ybeeions nee not peation. This section contain DPCLthe following chapters:
- Cha4, Pfor performintigorous r
cherview. It prova
genernd informailddard rous error
cheogram.
- Cha5, Initializscribingaditysictiool plan to use the DPCL sDPCL? descrw of binitializnforma the tthat your promusd partnot peatilan to use the DPCL s,tthat your promusdbincludef the hend H DPCLile teinitializto use the DPCL s,trms,en>Cha use the hree even> DPCloopogram.
- Cha6, >DPCnhis elatinorrminra lisu totargesother applic you
nesDPCL? descr
of how a promusdbcPCnhisetherotargesother applicCL tof"it
ictio
rrns to dynamically in or "pnized inasother applicatIfstand
targesother applic you
n(es) Whatalforeynto a ruparts, This cha
so, descstantand howaditysictiool gram PCnhisethetoxeow
n(es)ation. This chapters and
A> descr
of nwaditysictiool gramr to useethecforte onenorrnal, targes tha C++ applic you
nesnmentnf nwaditysictiool gfortesf how
ngrams ic plaway,ew of the DPCL sypter estabccomscribes PCnhislic text necesided lly iin doin or "pnized inxeow
nogram.
- Cha7, >DPCtroll lisexecuformaifotargesother applic you
nesDPCL? descr
of nwaditysictiool gramatt to itselfetherotarges tha C++ applic you
nstand in ordecPCtrolsexecuformaifotnxeow
no Its and
A> descr
of nwaC++ applic gra, al, grams icmatt toedrmintrefo to use DPCL
funto bectio susof a,osurumetcheskybeeonenorrnal, targesother applicCL tyou
nesngram.
- Cha8, >Dfort lis or "pDPCL? describesstep tthat your promusds the fethecforte ain DPCactugener
instrumentation inaso ybeebesexecufede youinou totarges tha C++ application. This chad
A> descr
ofthecforte sie exeides instrucptionr sequRefectionides instruc,to be ca or "sex
rstruc,tio ss reailed aemove
instrumentation DPCLpter descr
of how "sex
rstru graptionp additlyto beed L
funtwrittee e
C wntnfmes. Mor++ appntain
instrumentthese
eionsedngram.
- Cha9, Execufolis or "pgramsargesother applic you
nesDPCL? describesstep tthat your promusds the fetheexecufedoin or "pn youinoonenorrnal, targesother applic you
nesngram.
- Cha10, >Dfort lisdata o besomesroufolesDPCL? descr
of nwaditysictiool gramcforte a "data o besome thatoufole"etherespe seionsata represomes you to ditysictiool frome or "p thaexecufolis youinouargesother applic you
nesngram.
- Cha1pterEn>Chcheckingexitscribing the hree even> loopDPCL? descr
of nwaditysictiool gramen>Chaae even> loop
PCL to
>Chfaceailynchronouslye you s of the DPCL sygram.
- Cha1pterDiscPCnhis elafrometargesother applic you
nesDPCL? descr
of nwaditysictiool gramdiscPCnhis you
nes is thabookfincomsngexamincheogram.
- Cha13, >DPmpilcheckinglchkscribingaditysictioolDPCL? descr
ofrdecPmpiletthat aditysictiool you s of the DPClass LibderstacludefLile ogram.
- Aing additndard rary ProgramTing rview conthree chaptery describingming additn the tasks idesallel
pro?tuilds of the ybeeions or want nee not peation. This se part
contains the following chapters:
- Cha14, Handlchecrs daterrms,miletevel desors used tho use the DPCL sDPCL? descr
of nwaC++ applic gra monisord the rs daterrms DPCLiletevel desors used tho use the DPCL sogram.
- Cha15, Search elafor,ckinglc a li,,mber functinou totargeswaC++ applicDPCL? descr
of nwaditysictiool gramlc a,mber functinoa each
rgesother applic asks mode a supplieshougularsex
rstru searchallelat>Chnogram.
- Cha16, > andrie readefault DPCL sys besomesDPCL? descr
of nwaC++ applic gra cforte o besomesroufoles
PCL thandle unex
eestriDPCL syeven>s sue aned the daes-cnexitscriTE> otarges tha C++ applic you
nsDPCL trt liatioxse o besomentainmatiplacead aemovdefault DPCL sys besomesd and wmereommowitrurougrous mt negesngram.
- Cha17, >G
gt lisdiagnostic logsDPCL? descr
of how a progra, idedtroubleshootcheckinemovdebuggolis urpo!-c,toforte a log,miletasks rder Recbingmctivitieements of thedoingPCL sogram.