%!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Fri Sep 13 13:05:50 1996 %%Pages: (atend) %%DocumentFonts: (atend) /devps 180 dict def devps begin /res 10.000000 def /y_offset 843 def /X{exch}bind def /mm {transform round X round X itransform} bind def /r{rmoveto}bind def /m{moveto}bind def /l{lineto}bind def /rl{rlineto}bind def /st{stroke}bind def /gs{gsave}bind def /gr{grestore}bind def /cp{currentpoint}bind def /np{newpath}bind def /ct{curveto}bind def systemdict /setpacking known { /savepacking currentpacking def true setpacking } if /m0{0 0 moveto}bind def /xc{//res div}bind def /yc{//res neg div //y_offset add}bind def /lc{yc X xc X l st}bind def /mc{yc X xc X m}bind def /el{gs /a X def a div 1 X scale cp np a xc 2 div 0 360 arc st gr}bind def /ar{cp 7 2 roll np xc 5 1 roll atan 3 1 roll atan X arc st}bind def /sp{yc X xc X 6 2 roll yc X xc X 6 2 roll yc X xc X 6 2 roll ct}bind def /V{//res neg div //y_offset add currentpoint pop X m}bind def /H{//res div 0 transform X round X itransform pop currentpoint X pop moveto}bind def /h{//res div 0 r}bind def /v{//res neg div 0 X r}bind def /S{X H show}bind def /A{H //res div 1 index stringwidth pop sub 1 index length div 0 3 2 roll ashow}bind def /psize 10 def /height 0 def /cheight { height 0 ne { height } { psize } ifelse } bind def /slant 0 def /FF{findfont X dup 30 div 0 mm pop setlinewidth /psize X def [psize 0 cheight slant sin slant cos div mul cheight 0 0] makefont setfont}bind def /shade{gs /dy X def /dx X def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fill gr}bind def 1 setlinecap /resolution res 72 mul def /startFig { /SavedState save def userdict maxlength dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix itransform moveto /ury exch def /urx exch def /lly exch def /llx exch def /y exch 72 mul resolution div def /x exch 72 mul resolution div def currentpoint /cy exch def /cx exch def /sx x urx llx sub div def /sy y ury lly sub div def sx sy scale cx sx div llx sub cy sy div ury sub translate /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix { DefFigCTM exch copy } def /initgraphics { DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrix } def /showpage { initgraphics } def }bind def /clipFig { currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip newpath moveto }bind def /doclip { llx lly urx ury clipFig } def /endFig { end SavedState restore }bind def /globalstart { fontnum psize slant height resolution currentpoint pagesave restore gsave }bind def /globalend { grestore moveto /resolution exch def /height exch def /slant exch def /psize exch def /fontnum exch def F /pagesave save def }bind def /fontnum 1 def systemdict /setpacking known { savepacking setpacking} if end /BP{ save mark devps begin m0 /DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap currentlinejoin currentdash currentgray currentmiterlimit ] cvx def }bind def /EP{ end cleartomark restore showpage}def /Encoding-1 256 array def 0 1 255 {Encoding-1 exch /.notdef put} for Encoding-1 8#301 StandardEncoding 8#101 26 getinterval putinterval %A-B Encoding-1 8#341 StandardEncoding 8#141 26 getinterval putinterval %a-b Encoding-1 8#241 StandardEncoding 8#301 16 getinterval putinterval %accents Encoding-1 8#373 StandardEncoding 8#365 1 getinterval putinterval %dotlessi Encoding-1 dup 8#41 /copyright put dup 8#42 /registered put dup 8#43 /trademark put dup 8#44 /logicalnot put dup 8#45 /Eth put dup 8#46 /eth put dup 8#47 /Thorn put dup 8#50 /thorn put dup 8#51 /brokenbar put dup 8#52 /degree put dup 8#53 /divide put dup 8#54 /multiply put dup 8#55 /minus put dup 8#56 /onehalf put dup 8#57 /onequarter put dup 8#60 /threequarters put dup 8#101 /Aacute put dup 8#102 /Acircumflex put dup 8#103 /Adieresis put dup 8#104 /Agrave put dup 8#105 /Aring put dup 8#106 /Atilde put dup 8#107 /Ccedilla put dup 8#110 /Eacute put dup 8#111 /Ecircumflex put dup 8#112 /Edieresis put dup 8#113 /Egrave put dup 8#114 /Iacute put dup 8#115 /Icircumflex put dup 8#116 /Idieresis put dup 8#117 /Igrave put dup 8#120 /Ntilde put dup 8#121 /Oacute put dup 8#122 /Ocircumflex put dup 8#123 /Odieresis put dup 8#124 /Ograve put dup 8#125 /Otilde put dup 8#126 /Scaron put dup 8#127 /Uacute put dup 8#130 /Ucircumflex put dup 8#131 /Udieresis put dup 8#132 /Ugrave put dup 8#133 /Ydieresis put dup 8#134 /Zcaron put dup 8#135 /aacute put dup 8#136 /acircumflex put dup 8#137 /adieresis put dup 8#140 /agrave put dup 8#141 /aring put dup 8#142 /atilde put dup 8#143 /ccedilla put dup 8#144 /eacute put dup 8#145 /ecircumflex put dup 8#146 /edieresis put dup 8#147 /egrave put dup 8#150 /iacute put dup 8#151 /icircumflex put dup 8#152 /idieresis put dup 8#153 /igrave put dup 8#154 /ntilde put dup 8#155 /oacute put dup 8#156 /ocircumflex put dup 8#157 /odieresis put dup 8#160 /ograve put dup 8#161 /otilde put dup 8#162 /scaron put dup 8#163 /uacute put dup 8#164 /ucircumflex put dup 8#165 /udieresis put dup 8#166 /ugrave put dup 8#167 /ydieresis put dup 8#170 /zcaron put pop /Enc-dict 30 dict def Enc-dict /tmpstr1 50 string put Enc-dict /tmpstr2 50 string put Enc-dict /tmpstr3 50 string dup (Encoding-) exch cvs pop put /AEnc-def { % arguments: the original font's name, encoding nr Enc-dict begin tmpstr2 cvs /Enc-no exch def % Remember the number in a string dup /OrigName exch def % remember the name findfont dup maxlength dict /newdict exch def % get dictionary for new font { exch dup /FID ne { exch newdict 3 1 roll put } { pop pop } % Ignore FID ifelse } forall newdict begin /Encoding tmpstr3 9 Enc-no putinterval tmpstr3 0 9 Enc-no length add getinterval cvn load def % Replace encoding currentdict /UniqueID known { /UniqueID UniqueID Enc-no cvi 49999 mul add def } if % Derive New UniqueID end % newdict /FNlength OrigName tmpstr1 cvs length def % convert name, remember length FNlength 1 add Enc-no length add string dup 0 OrigName tmpstr1 cvs putinterval dup FNlength (-) putinterval dup FNlength 1 add Enc-no putinterval dup 0 tmpstr1 0 FNlength getinterval putinterval % Add old name cvn dup newdict /FontName 3 2 roll put newdict definefont end % Enc-dict } def /Times-Roman 1 AEnc-def pop /R-1{/Times-Roman-1 FF}def /R{/Times-Roman FF}def /B{/Times-Bold FF}def /I{/Times-Italic FF}def %%EndProlog %%Page: 1 1 BP /slant 0 def /height 0 def 480 V 10 R 720(PTRACE)S 1115(\()S 1157(2)S 1215(\))S 2696(Eighth)S (Edition)296 2989 A 4732(PTRACE)S 5127(\()S 5169(2)S 5227(\))S 960 V 9 R 720(N)S 722(NA)S 790(AM)S 858(ME)S 940(E)S 1080 V 10 R (ptrace)247 1080 A 10 R-1 1352(-)S 10 R 1434(process)S (trace)197 1761 A 1248 V 9 R 720(S)S 722(SY)S 774(YN)S 842(NO)S 910(OP)S 978(PS)S 1030(SI)S 1082(IS)S 1115(S)S 1368 V 10 B 1080(#include)S 1482()S 1488 V 1080(#include)S 1482()S 1608 V 1080(#include)S 1482()S 1848 V 1080(int)S 1236(ptrace\(int)S 10 I 1701(request)S 10 B 1997(,)S 2060(pid_t)S 10 I 2322(pid)S 10 B 2450(,)S 2513(long)S 10 I (addr)189 2735 A 10 B 2924(,)S 2987(long)S 10 I 3209(data)S 10 B 3387(\))S 2016 V 9 R 720(D)S 722(DE)S 790(ES)S 848(SC)S 900(CR)S 962(RI)S 1024(IP)S 1057(PT)S 1109(TI)S 1167(IO)S 1200(ON)S 1268(N)S 2136 V 10 B 1080(Note:)S 1345(This)S 1564(manual)S 1917(page)S 2147(has)S 2321(no)S 2456(relation)S 2822(to)S 2936(Minix.)S 3273(Someone)S 3689(who)S 3898(knows)S 4202(ptrace\(\))S 4575(has)S 4750(to)S 4864(check,)S 5166(or)S 2256 V 1080(rewrite,)S 1445(this)S 1627(page.)S 1903(\(kjb\))S 2424 V 1080(Ptrace)S 10 R 1392(provides)S 1769(a)S 1845(means)S 2133(by)S 2264(which)S 2541(a)S 2617(parent)S 2900(process)S 3233(may)S 3437(control)S 3753(the)S 3908(execution)S 4331(of)S 4447(a)S 4524(child)S 4757(process,)S 5116(and)S 2544 V 1080(examine)S 1447(and)S 1618(change)S 1929(its)S 2050(core)S 2250(image.)S 2572(Its)S 2699(primary)S 3044(use)S 3204(is)S 3297(for)S 3441(the)S 3590(implementation)S 4247(of)S (breakpoint)430 4357 A (debugging.)448 4813 A 2664 V 1080(There)S 1351(are)S 1510(four)S 1713(arguments)S 2167(whose)S 2459(interpretation)S 3037(depends)S 3401(on)S 3536(a)S 10 I 3616(request)S 10 R 3947(argument.)S 4412(Generally,)S 10 I 4871(pid)S 10 R 5035(is)S 5138(the)S 2784 V 1080(process)S 1408(ID)S 1541(of)S 1651(the)S (traced)247 1800 A 2073(process,)S 2426(which)S 2698(must)S 2919(be)S 3040(a)S 3111(child)S 3338(\(no)S 3498(more)S 3731(distant)S 4025(descendant\))S 4531(of)S 4640(the)S 4788(tracing)S 5093(pro-)S 2904 V 1080(cess.)S 1327(A)S 1429(process)S 1760(being)S (traced)247 2012 A 2288(behaves)S 2641(normally)S (until)184 3033 A 3247(it)S (encounters)436 3333 A 3799(some)S 4041(signal)S 4311(whether)S 4666(internally)S 5082(gen-)S 3024 V 1080(erated)S 1357(like)S (illegal)252 1538 A 1820(instruction)S 2279(or)S 2392(externally)S 2824(generated)S 3245(like)S 3425(interrupt.)S 3851(See)S 10 B 4026(sigaction)S 10 R 4406(\(2\))S 4553(for)S 4700(the)S 4852(list.)S 5054(Then)S 3144 V 1080(the)S (traced)247 1232 A 1508(process)S 1839(enters)S 2109(a)S (stopped)312 2183 A 2524(state)S 2738(and)S 2912(its)S 3036(parent)S 3317(is)S 3413(noti\256ed)S 3749(via)S 10 B 3901(wait)S 10 R 4086(\(2\).)S 4283(When)S 4552(the)S 4704(child)S 4934(is)S 5030(in)S 5138(the)S 3264 V (stopped)312 1080 A 1427(state,)S 1672(its)S 1802(core)S 2010(image)S 2290(can)S 2464(be)S 2593(examined)S 3018(and)S 3197(modi\256ed)S 3588(using)S 10 B 3839(ptrace)S 10 R 4114(.)S 4198(If)S 4300(desired,)S 4650(another)S 10 B 4986(ptrace)S 3384 V 10 R 1080(request)S 1396(can)S 1561(then)S 1759(cause)S 2008(the)S 2156(child)S 2382(either)S 2637(to)S 2740(terminate)S 3146(or)S 3255(to)S 3358(continue,)S 3754(possibly)S (ignoring)340 4113 A 4478(the)S 4626(signal.)S 3552 V 1080(The)S 1262(value)S 1505(of)S 1614(the)S 10 I 1762(request)S 10 R 2083(argument)S 2488(determines)S 2955(the)S 3103(precise)S 3414(action)S 3685(of)S 3794(the)S (call:)174 3942 A 3720 V 1080(PT_TRACE_ME)S 3840 V 1280(This)S 1484(request)S 1800(is)S 1892(the)S 2040(only)S 2243(one)S 2413(used)S 2622(by)S 2747(the)S 2895(child)S 3121(process;)S 3477(it)S 3559(declares)S 3916(that)S 4093(the)S 4242(process)S 4570(is)S 4663(to)S 4767(be)S (traced)247 4888 A 5161(by)S 3960 V 1280(its)S 1406(parent.)S 1739(All)S 1899(the)S 2053(other)S 2291(arguments)S 2741(are)S (ignored.)332 2896 A 3284(Peculiar)S 3646(results)S (will)157 3940 A 4128(ensue)S 4388(if)S 4481(the)S 4635(parent)S 4918(does)S 5133(not)S 4080 V 1280(expect)S 1568(to)S (trace)197 1671 A 1893(the)S 2041(child.)S 4248 V 1080(PT_READ_I,)S 1657(PT_READ_D)S 4368 V 1280(The)S 1467(word)S 1704(in)S 1812(the)S 1965(child)S 2196(process's)S 2601(address)S (space)224 2933 A 3187(at)S 10 I (addr)189 3291 A 10 R 3511(is)S 3609(returned.)S 4026(If)S 4125(I)S 4190(and)S 4366(D)S (space)224 4470 A 4725(are)S 4880(separated)S 4488 V 1280(\(e.g.)S 1502(historically)S 1998(on)S 2141(a)S (pdp-11\),)343 2229 A 2615(request)S 2949(PT_READ_I)S 3519(indicates)S 3920(I)S (space,)249 3997 A 4289(PT_READ_D)S 4897(D)S (space.)249 5012 A 4608 V 10 I 1280(Addr)S 10 R 1506(must)S 1726(be)S 1846(even)S 2061(on)S 2186(some)S 2423(machines.)S 2878(The)S 3060(child)S 3286(must)S 3506(be)S (stopped.)337 3626 A 4013(The)S (input)206 4195 A 10 I 4426(data)S 10 R 4629(is)S (ignored.)332 4721 A 4776 V 1080(PT_READ_U)S 4896 V 1280(The)S 1468(word)S 1706(of)S 1821(the)S 1975(system's)S 2358(per-process)S 2854(data)S 3053(area)S (corresponding)575 3253 A 3859(to)S 10 I (addr)189 3968 A 10 R 4189(is)S 4288(returned.)S 10 I 4706(Addr)S 10 R 4939(must)S 5166(be)S 5016 V 1280(even)S 1497(on)S 1624(some)S 1863(machines)S 2270(and)S 2442(less)S 2620(than)S (512.)175 2820 A 3047(This)S (space)224 3253 A 3504(contains)S 3865(the)S 4014(registers)S 4382(and)S 4553(other)S 4786(information)S 5136 V (about)223 1280 A 1528(the)S 1676(process;)S 2031(its)S (layout)251 2151 A (corresponds)486 2427 A 2938(to)S 3041(the)S 10 I 3189(user)S 10 R 3387(structure)S 3765(in)S 3868(the)S 4016(system.)S 5304 V 1080(PT_WRITE_I,)S 1702(PT_WRITE_D)S 5424 V 1280(The)S 1465(given)S 10 I 1716(data)S 10 R 1922(is)S (written)286 2017 A 2331(at)S 2432(the)S 2583(word)S 2818(in)S 2924(the)S 3075(process's)S 3478(address)S (space)224 3808 A (corresponding)575 4061 A 4665(to)S 10 I (addr,)214 4772 A 10 R 5015(which)S 5544 V 1280(must)S 1513(be)S 1646(even)S 1874(on)S 2012(some)S 2262(machines.)S 2730(No)S 2891(useful)S 3175(value)S 3431(is)S 3536(returned.)S 3960(If)S 4066(I)S 4138(and)S 4321(D)S (space)224 4432 A 4694(are)S 4855(separated,)S 5664 V 1280(request)S 1604(PT_WRITE_I)S 2209(indicates)S 2600(I)S (space,)249 2668 A 2951(PT_WRITE_D)S 3596(D)S (space.)249 3703 A 4011(Attempts)S 4414(to)S 4526(write)S 4768(in)S 4880(pure)S 5093(pro-)S 5784 V 1280(cedure)S 1574(fail)S 1734(if)S 1821(another)S 2148(process)S 2475(is)S 2567(executing)S 2983(the)S 3131(same)S 3363(\256le.)S 5952 V 1080(PT_WRITE_U)S 6072 V 1280(The)S 1471(process's)S 1880(system)S 2193(data)S 2396(is)S (written,)311 2498 A 2844(as)S 2963(it)S 3054(is)S 3156(read)S 3365(with)S 3579(request)S 3905(PT_READ_U.)S 4556(Only)S 4792(a)S 4872(few)S 5059(loca-)S 6192 V 1280(tions)S 1509(can)S 1683(be)S (written)286 1812 A 2132(in)S 2244(this)S 2423(way:)S 2653(the)S 2810(general)S 3141(registers,)S 3541(the)S 3697(\257oating)S 4037(point)S 4276(status)S 4538(and)S 4716(registers,)S 5116(and)S 6312 V 1280(certain)S 1580(bits)S 1750(of)S 1859(the)S 2007(processor)S 2418(status)S 2672(word.)S 6480 V 1080(PT_CONTINUE)S 6600 V 1280(The)S 10 I 1462(data)S 10 R 1665(argument)S 2070(is)S 2162(taken)S 2405(as)S 2514(a)S 2584(signal)S 2849(number)S 3181(and)S 3351(the)S 3499(child's)S 3798(execution)S 4214(continues)S 4624(at)S 4722(location)S 10 I (addr)189 5072 A 6720 V 10 R 1280(as)S 1398(if)S 1494(it)S 1584(had)S 1763(incurred)S 2132(that)S 2316(signal.)S 2639(Normally)S 3058(the)S 3214(signal)S 3487(number)S (will)157 3827 A 4017(be)S 4145(either)S 4408(0)S 4491(to)S 4602(indicate)S 4954(that)S 5138(the)S 6840 V 1280(signal)S 1545(that)S 1721(caused)S 2020(the)S 2168(stop)S (should)267 2360 A 2652(be)S (ignored,)332 2773 A 3131(or)S 3241(that)S 3418(value)S 3662(fetched)S 3985(out)S 4139(of)S 4249(the)S 4398(process's)S 4799(image)S 5071(indi-)S 6960 V 1280(cating)S 1563(which)S 1846(signal)S 2123(caused)S 2434(the)S 2594(stop.)S 2848(If)S 10 I (addr)189 2953 A 10 R 3179(is)S 3283(\(int)S 3460(*\)1)S 3631(then)S 3841(execution)S 4269(continues)S 4690(from)S 4922(where)S 5205(it)S 7080 V (stopped.)337 1280 A 7248 V 1080(PT_KILL)S 7368 V 1280(The)S (traced)247 1462 A 1734(process)S 2061(terminates.)S 7903 V 720(Page)S 941(1)S 2669(\()S 2711(May)S 2920(23,)S (1986)200 3070 A 3278(\))S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Page: 2 2 BP /slant 0 def /height 0 def 480 V 10 R 720(PTRACE)S 1115(\()S 1157(2)S 1215(\))S 2696(Eighth)S (Edition)296 2989 A 4732(PTRACE)S 5127(\()S 5169(2)S 5227(\))S 960 V 1080(PT_STEP)S 1080 V 1280(Execution)S 1720(continues)S 2137(as)S 2253(in)S 2363(request)S 2686(PT_CONTINUE;)S 3431(however,)S 3835(as)S (soon)189 3951 A 4172(as)S 4289(possible)S 4651(after)S 4870(execution)S 1200 V 1280(of)S 1396(at)S 1501(least)S 1718(one)S 1895(instruction,)S 2382(execution)S 2805(stops)S 3042(again.)S 3341(The)S 3529(signal)S 3800(number)S 4138(from)S 4365(the)S 4519(stop)S 4717(is)S 4815(SIGTRAP.)S 1320 V 1280(\(On)S 1483(the)S (VAX-11)353 1652 A 2051(the)S 2220(T-bit)S 2468(is)S 2581(used)S 2811(and)S 3002(just)S 3193(one)S 3384(instruction)S 3860(is)S 3974(executed.\))S 4463(This)S 4689(is)S 4803(part)S 5007(of)S 5138(the)S 1440 V 1280(mechanism)S 1763(for)S 1906(implementing)S (breakpoints.)494 2489 A 1608 V 1080(As)S 1222(indicated,)S 1646(these)S 1883(calls)S 2098(\(except)S 2425(for)S 2573(request)S 2894(PT_TRACE_ME\))S 3658(can)S 3828(be)S 3953(used)S 4167(only)S 4375(when)S 4623(the)S 4777(subject)S 5093(pro-)S 1728 V 1080(cess)S 1278(has)S (stopped.)337 1441 A 1832(The)S 10 B 2018(wait)S 10 R 2232(call)S 2407(is)S 2503(used)S 2716(to)S 2823(determine)S 3255(when)S 3502(a)S 3576(process)S 3907(stops;)S 4170(in)S 4277(such)S 4490(a)S 4564(case)S 4767(the)S 4919(termina-)S 1848 V 1080(tion)S 1261(status)S 1515(returned)S 1876(by)S 10 B 2001(wait)S 10 R 2211(has)S 2370(the)S 2518(value)S (0177)200 2761 A 2986(to)S 3089(indicate)S (stoppage)357 3433 A 3815(rather)S 4076(than)S 4274(genuine)S 4617(termination.)S 2016 V 1080(To)S 1234(forestall)S 1608(possible)S 1980(fraud,)S 10 B 2261(ptrace)S 10 R 2579(inhibits)S 2923(the)S 3089(set-user-id)S 3558(and)S (set-group-id)492 3746 A (facilities)348 4281 A 4672(on)S 4815(subsequent)S 2136 V 10 B 1080(execve)S 10 R 1360(\(2\))S 1505(calls.)S 1767(If)S 1862(a)S (traced)247 1934 A 2208(process)S 2537(calls)S 10 B 2749(execve)S 10 R 3029(,)S 3081(it)S (will)157 3163 A 3346(stop)S 3539(before)S 3823(executing)S 4240(the)S 4389(\256rst)S 4572(instruction)S 5028(of)S 5138(the)S 2256 V 1080(new)S 1273(image)S 1544(showing)S 1909(signal)S 2174(SIGTRAP.)S 2424 V 1080(On)S 1228(a)S (VAX-11,)378 1298 A 1701(word)S 1933(also)S 2120(means)S 2402(a)S 2472(32-bit)S 2737(integer,)S 3067(but)S 3220(the)S 3368(even)S 3583(restriction)S 4017(does)S 4226(not)S 4379(apply.)S 2592 V 9 R 720(R)S 722(RE)S 784(ET)S 842(TU)S 900(UR)S 968(RN)S 1030(N)S 1121(V)S 1123(VA)S 1191(AL)S 1259(LU)S 1317(UE)S 1385(E)S 2712 V 10 R 1080(A)S 1182(0)S 1261(value)S 1508(is)S 1604(returned)S 1969(if)S 2060(the)S 2212(call)S (succeeds.)383 2387 A 2824(If)S 2921(the)S 3073(call)S 3248(fails)S 3451(then)S 3653(a)S 10 R-1 3727(-)S 10 R 3784(1)S 3864(is)S 3961(returned)S 4327(and)S 4502(the)S 4655(global)S 4936(variable)S 2832 V 10 I 1080(errno)S 10 R 1328(is)S 1420(set)S 1557(to)S 1660(indicate)S 2004(the)S 2152(error.)S 3000 V 9 R 720(E)S 722(ER)S 780(RR)S 842(RO)S 904(OR)S 972(RS)S 1034(S)S 3120 V 10 R 1080([EIO])S 1830(The)S 2012(request)S 2328(code)S 2543(is)S 2635(invalid.)S 3288 V 1080([ESRCH])S 1830(The)S 2012(speci\256ed)S 2395(process)S 2722(does)S 2931(not)S 3084(exist.)S 3456 V 1080([EIO])S 1830(The)S 2012(given)S 2260(signal)S 2525(number)S 2857(is)S 2949(invalid.)S 3624 V 1080([EIO])S 1830(The)S 2012(speci\256ed)S 2395(address)S 2722(is)S 2814(out)S 2967(of)S (bounds.)314 3076 A 3792 V 1080([EPERM])S 1830(The)S 2012(speci\256ed)S 2395(process)S (cannot)268 2722 A 3015(be)S (traced.)272 3135 A 3960 V 9 R 720(S)S 722(SE)S 774(EE)S 832(E)S 913(A)S 915(AL)S 983(LS)S 1041(SO)S 1093(O)S 4080 V 10 B 1080(wait)S 10 R 1265(\(2\),)S 10 B 1433(sigaction)S 10 R 1813(\(2\),)S 10 B 1981(mdb)S 10 R 2177(\(1\).)S 4248 V 9 R 720(B)S 722(BU)S 784(UG)S 852(GS)S 920(S)S 4368 V 10 B 1080(Ptrace)S 10 R 1392(is)S 1490(unique)S 1794(and)S 1970(arcane;)S 2293(it)S (should)267 2380 A 2678(be)S (replaced)342 2804 A 3177(with)S 3387(a)S 3463(special)S 3774(\256le)S 3934(that)S 4116(can)S 4287(be)S 4413(opened)S 4734(and)S 4910(read)S 5116(and)S 4488 V (written.)311 1080 A 1449(The)S 1639(control)S 1957(functions)S 2364(could)S 2620(then)S 2826(be)S 2954(implemented)S 3512(with)S 10 B 3724(ioctl)S 10 R 3909(\(2\))S 4060(calls)S 4278(on)S 4411(this)S 4588(\256le.)S 4799(This)S 5010(would)S 4608 V 1080(be)S 1200(simpler)S 1527(to)S (understand)441 1630 A 2096(and)S 2266(have)S 2481(much)S 2729(higher)S 3011(performance.)S 4776 V 1080(The)S 1266(request)S 1586(PT_TRACE_ME)S 2316(call)S (should)267 2492 A 2789(be)S 2914(able)S 3112(to)S 3220(specify)S 3541(signals)S 3850(that)S 4031(are)S 4185(to)S 4293(be)S 4418(treated)S 4723(normally)S 5116(and)S 4896 V 1080(not)S 1242(cause)S 1500(a)S 1579(stop.)S 1830(In)S 1947(this)S 2125(way,)S 2351(for)S 2502(example,)S 2901(programs)S 3314(with)S 3526(simulated)S 3950(\257oating)S 4290(point)S 4529(\(which)S 4842(use)S (illegal)252 5009 A 5016 V 1080(instruction)S 1535(signals)S 1839(at)S 1937(a)S 2007(very)S 2211(high)S 2414(rate\))S 2625(could)S 2873(be)S 2993(ef\256ciently)S (debugged.)415 3427 A 5184 V 1080(The)S 1262(error)S 1484(indication,)S 10 R-1 1936(-)S 10 R 1993(1,)S 2093(is)S 2185(a)S (legitimate)403 2255 A 2683(function)S 3043(value;)S 10 B (errno)241 3314 A 10 R 3555(,)S 3605(\(see)S 10 B 3793(intro)S 10 R 4006(\(2\)\),)S 4208(can)S 4374(be)S 4495(used)S 4705(to)S 4809(disambigu-)S 5304 V 1080(ate.)S 5472 V 1080(It)S (should)267 1176 A 1477(be)S 1606(possible)S 1969(to)S 2081(stop)S 2282(a)S 2361(process)S 2697(on)S 2831(occurrence)S 3308(of)S 3426(a)S 3505(system)S (call;)174 3818 A 4026(in)S 4138(this)S 4317(way)S 4520(a)S 4600(completely)S 5082(con-)S 5592 V 1080(trolled)S 1368(environment)S 1901(could)S 2149(be)S 2269(provided.)S 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 2669(\()S 2711(May)S 2920(23,)S (1986)200 3070 A 3278(\))S 4990(Page)S 5211(2)S 8143 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Bold Times-Italic %%Pages: 2