-+-+-+-+-+-+-+-+ START OF PART 66 -+-+-+-+-+-+-+-+ X(language)0 2023 y(execution.)15 b(Consider)10 b(the)h(analogy)g(of)g X(element-by-element)h(traversal)f(of)g(a)h(PHIGS)f(structure)g(network)f X(with)g(statement-)0 2073 y(by-statement)k(execution)g(of)g(a)h(program.)25 Xb(In)14 b(this)g(model,)h(PHIGS)g(`60structures)f(and)g(elements')h(correspo Vnd) Xf(roughly)f(to)0 2123 y(programming)8 b(language)g(`60procedures)h(and)g X(statements'.)14 b(The)c(analogy)e(continues)g(from)g(the)g(point)g(of)g X(view)g(of)h(debugging,)0 2172 y(and)j(T)m(able)g(10.1)f(illustrates)g(the)g X(analogies)h(in)f(the)g(context)g(of)h(a)g(block-structured)e(procedural)h X(language)h(such)f(as)i(Pascal.)0 2222 y(W)n(ith)j(a)h(system)g(such)g(as)g X(the)f(V)-5 b(AX)17 b(language-independent)e(source)i(level)f(Debugger)h X(facility)e(`5B10)o(`5D,)j(the)f(source)g(code)0 2272 y(is)f(displayed)f(on) Vg X(the)h(screen)h(and)f(the)g(user)g(has)h(complete)f(control)e(over)i(the)g X(execution)f(of)h(the)g(program.)29 b(Execution)0 2322 y(can)14 Xb(be)g(on)f(a)h(line-by-line)d(basis,)j(with)e(the)i(Debugger)f(regaining)f X(control)g(of)h(the)g(program)g(after)h(every)g(step,)g(or)f(can)h(be)0 X2372 y(unconstrained,)e(continuing)e(as)j(if)f(the)g(Debugger)g(were)i(not)d X(present.)19 b(By)12 b(interacting)f(with)g(the)h(Debugger)n(,)i(the)e(user) Vh X(can)0 2421 y(control)e(the)h(\257ow)g(of)g(program)f(execution)h(in)g X(several)g(ways:)17 b(by)12 b(specifying)f Fk(br)n(eakpoints)p XFq(,)h(at)g(which)g(program)g(execution)0 2471 y(halts,)g(and)g(control)e X(passes)j(to)e(the)h(Debugger)n(,)g(or)g Fk(tracepoints)p Fq(,)f(where)h X(execution)g(does)g(not)e(halt,)i(but)f(the)h(user)g(is)f(noti\256ed)0 X2521 y(whenever)i(a)g(speci\256ed)g(piece)g(of)f(code)h(is)f(executed.)19 Xb(The)13 b(command)g(interface)g(is)f(straightforward;)f(for)h(example,)h(to V) Xf(set)0 2571 y(a)j(breakpoint)e(at)i(a)g(procedure)g(called)g(`60fred',)g(th Ve)f X(user)h(types)f(`60set)h(break)g(fred'.)25 b(Program)15 b(line)f(numbers)g(m Vay) Xh(also)g(be)0 2621 y(speci\256ed,)e(such)g(as)f(`60set)g(break)h(\045line)e X(23'.)17 b(The)c(user)f(may)h(also)f(dynamically)f(display)g(on)h(the)g X(terminal)f(and)h(modify)f(the)0 2670 y(values)g(of)g(variables)h(within)d X(the)i(program,)h(using)e(simple)h(commands)i(such)e(as)h(`60examine)g(i',)f X(and)h(`60deposit)e(j=12'.)0 2748 y(The)i(same)h(conceptual)e(model)g(is)g X(used)h(in)e(adopted)h(for)g(the)g(PHIGS)h(Debugger)n(.)0 2956 Xy(13th)22 b(May)m(,)12 b(1992)636 b(55)839 b(2.01)p eop X%%Page: 56 57 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)p 187 -32 1493 2 v 186 18 2 50 v 212 3 a(Debugger)11 Xb(operation)p 567 18 V 48 w(language)g(interpretation)p 1094 X18 V 140 w(PHIGS)g(interpretation)p 1679 18 V 187 20 1493 2 Xv 186 70 2 50 v 212 55 a(step)p 567 70 V 314 w(execute)h(next)f(statement)p X1094 70 V 147 w(elaborate)h(next)f(structure)f(element)p 1679 X70 V 186 120 V 212 105 a(step)h(into)p 567 120 V 237 w(step)g(into)f X(procedure)p 1094 120 V 207 w(step)h(into)f(executed)i(structure)p X1679 120 V 186 169 V 212 154 a(go)p 567 169 V 339 w(continue)f(program)g X(execution)p 1094 169 V 58 w(continue)f(structure)h(traversal)p X1679 169 V 186 219 V 212 204 a(set)g(breakpoint)p 567 219 V X145 w(halt)g(when)g(speci\256ed)p 1094 219 V 205 w(halt)g(when)g(speci\256ed V) Xp 1679 219 V 186 269 V 567 269 V 593 254 a(procedure/statement)g(reached)p X1094 269 V 51 w(structure/element)g(reached)p 1679 269 V 186 X319 V 212 304 a(set)g(tracepoint)p 567 319 V 157 w(report)g(when)g X(speci\256ed)p 1094 319 V 168 w(report)g(when)g(speci\256ed)p X1679 319 V 186 369 V 567 369 V 593 354 a(procedure/statement)g(reached)p X1094 369 V 51 w(structure/element)g(reached)p 1679 369 V 186 X418 V 212 403 a(TSL)p 567 418 V 308 w(print)f(procedure)h(call)h(stack)p X1094 418 V 103 w(print)e(T)o(raversal)i(State)f(List)p 1679 X418 V 186 468 V 212 453 a(examine)p 567 468 V 241 w(print)f(value)h(of)g X(variable)p 1094 468 V 156 w(print)f(contents)h(of)g(element)p X1679 468 V 186 518 V 212 503 a(deposit)p 567 518 V 260 w(modify)g(value)g(of V) Xg(variable)p 1094 518 V 114 w(modify)f(contents)h(of)g(element)p X1679 518 V 187 520 1493 2 v 187 594 a(T)m(able)h(10.1:)i(Analogies)d(between V) Xh(programming)e(language)h(and)h(PHIGS)f(debugging)f(operations)0 X728 y Fu(10.2.1)50 b(Incr)o(emental)14 b(traversal)0 834 y XFq(The)d(fundamental)e(concept)h(of)g(the)f(PHIGS)h(Debugger)g(is)f(that)h X(an)g(application)e(may)j(specify)e(a)i(root)e(structure)g(and)h(traverse)0 X884 y(its)g(structure)g(network)f Fk(incr)n(ementally)p Fq(.)16 Xb(W)n(ith)10 b(the)g(Debugger)g(an)h(application)e(can)j(actually)e(follow)f X(the)h(path)g(which)g(would)0 934 y(be)k(taken)f(by)g(the)g(PHIGS)g X(traversal)h(process)f(through)f(a)i(structure)e(network,)i(element)g(by)f X(element.)21 b(Since)14 b(each)h(step)e(in)0 984 y(the)g(traversal)h(is)f X(controlled)f(by)h(the)g(application,)g(the)g(contents)g(of)g(structure)g X(elements)h(can)g(be)f(examined)h(and)g(changed)0 1034 y(dynamically)m(.)0 X1112 y(The)k(Debugger)e(is)h(built)e(`60on)h(top')g(of)h(PHIGS,)g(using)f X(PHIGS)h(functions)e(in)h(its)h(implementation.)31 b(The)17 Xb(PHIGS)g(data)0 1162 y(structures)f(manipulated)f(by)h(the)g(application)e X(program)i(are)h(not)e(changed)i(by)e(the)h(Debugger;)i(instead,)g(the)d X(Debugger)0 1212 y(creates)e(an)g(equivalent)e(representation)g(of)h(the)f X(model)h(in)g(`60hidden')e(structure)i(networks)f(internal)g(to)g(itself.)17 Xb(The)12 b(integrity)0 1262 y(of)f(the)g(structure)g(network)f(being)h X(debugged)g(is)g(therefore)g(guaranteed.)0 1410 y Fu(10.2.2)50 Xb(Using)14 b(the)f(PHIGS)h(Debugger)0 1516 y Fq(An)c(important)f(requirement V) Xh(is)h(that)e(existing)h(applications)f(may)i(use)g(the)f(tool)f(without)g X(the)h(need)h(for)f(extensive)g(modi\256ca-)0 1566 y(tions.)j(The)d(PHIGS)f X(Debugger)f(is)h(invoked)f(from)g(an)h(application)f(program)g(by)h(calling) Ve X(a)j(single)e(procedure,)i(specifying)d(the)0 1616 y(structure)h(to)g(be)g X(traversed,)i(and)f(the)f(workstation)e(to)i(be)h(used)g(for)f(display)m(.)1 V3 Xb(In)c(the)f(current)g(implementation,)g(commands)h(are)0 1666 Xy(given)i(interactively)f(using)h(PHIGS)h(menus)g(\(Chapter)f(8\).)16 Xb(The)d(Debugger)e(enables)h(the)g(operator)f(to)g(specify)h XFk(br)n(eakpoints)0 1716 y Fq(and)e Fk(tracepoints)f Fq(on)g(structure)h X(elements,)h(and)f(also)g(to)f(interactively)f(examine)j(and)f(modify)f X(their)g(contents.)15 b(Additionally)l(,)0 1765 y(the)c(T)o(raversal)g(State V) Xg(List)g(may)h(be)f(interrogated,)f(which)h(helps)f(with)g(the)h(dif)o X(\256culties)f(raised)h(in)g(section)g(10.1.1.)k(T)o(raversal)0 X1815 y(may)10 b(be)g(`60single)f(step',)i(where)f(one)g(element)g(at)g(a)g X(time)g(is)f(elaborated,)i(or)e(`60continuous',)g(when)h(it)f(is)g(terminate Vd)h X(only)e(when)0 1865 y(a)k(breakpoint)e(or)h(the)g(end)g(of)g(the)g(structure V) Xg(network)g(is)g(encountered.)0 1944 y(The)i(PHIGS)f(debugger)g(is)h(called) Vf X(from)g(within)f(a)i(program.)18 b(Initially)10 b(the)i(debugger)g(displays) Vg X(four)g(windows,)g(each)h(one)0 1994 y(playing)8 b(a)i(part)g(in)f(the)g X(debugging)f(process.)16 b(Figure)9 b(10.3)g(shows)h(a)g(screen)h(dump)e(of) Vg X(the)h(debugger)f(being)g(used)h(to)f(traverse)0 2043 y(the)i(lamp)h X(structure)e(network.)0 2122 y(The)i(four)f(initial)e(windows)h(are)i(as)g X(follows:)64 2243 y Fl(\267)21 b Fq(The)12 b Fp(structur)o(e)h(window)e XFq(is)g(displayed)f(in)h(the)g(lower)f(left)h(corner)g(of)g(the)g X(workstation.)j(This)d(window)f(displays)g(the)104 2293 y(structure)g X(network)h(as)h(it)e(is)h(traversed.)64 2376 y Fl(\267)21 b XFq(The)15 b Fp(topology)e(window)h Fq(is)h(displayed)e(in)h(the)h(upper)f X(left)g(corner)n(.)25 b(This)15 b(window)e(displays)h(the)h(topology)d(of)i X(the)104 2425 y(structure)c(network)h(being)g(debugged.)64 X2508 y Fl(\267)21 b Fq(The)14 b Fp(content)g(window)e Fq(is)i(displayed)e(in V) Xh(the)g(upper)g(right)f(corner)n(.)21 b(This)13 b(window)g(displays)f(the)h X(structure)g(content)104 2558 y(diagram)e(of)g(the)g(current)g(structure)g X(in)g(the)g(traversal.)64 2641 y Fl(\267)21 b Fq(The)12 b Fp(terminal)f X(window)g Fq(is)h(displayed)f(in)g(lower)g(right)f(corner)n(.)17 Xb(This)11 b(window)g(is)g(used)h(by)f(the)h(debugger)f(to)g(output)104 X2691 y(any)g(textual)g(information)e(such)i(as)h(element)g(contents)f(and)g X(tracepoint)g(messages.)0 2956 y(13th)22 b(May)m(,)12 b(1992)636 Xb(56)839 b(2.01)p eop X%%Page: 57 58 Xbop 0 -137 a Fq(PHIGS)11 b(T)m(oolkit)f(User)i(Manual)1235 Xb(PTK/100)5 599 y X 29312763 22376157 592035 1973452 30785863 24865505 startTexFig X5 599 a X%%BeginDocument: debug.ps Xsave /pssunsav exch def X/inch `7B72 mul`7D def Xgsave X0 10 translate X/mxTrans matrix currentmatrix def X/devit `7Bdtransform 2 copy dup mul exch dup mul exch add sqrt X`09dup 3 1 roll div 3 1 roll div exch idtransform`7D def X/xDev 1 0 devit pop def X/yDev 0 1 devit exch pop def X/thisfile currentfile def X/doit X `7B/picstr cbitWidth 7 add 8 idiv string def X dxWidInch inch dyHtInch inch scale X `7B1.0 exch sub`7D settransfer X cbitWidth cbitHt cbitDepth `5BcbitWidth 0 0 cbitHt neg 0 cbitHt`5D X `7Bthisfile picstr readhexstring pop`7D image X `7D def X/cbitWidth 1152 def X/cbitHt 900 def X/cbitDepth 1 def X0.25 inch 0.25 inch translate X/dxWidInch 6 def X/dyHtInch 4.6875 def Xdoit X001FFFC000000000000000000000000000000000000000000000000000000000000000000000 V0000000000000000000000000000000000000000000000000000000000000000000000000000 V000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF X003FFFC000000000000000000000000000000000000000000000000000000000000000000000 V0000000000000000000000000000000000000000000000000000000000000000000000000000 V000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF X0020000000000000000000000000000000000000000000000000000000000000000000000000 V0000000000000000000000000000000000000000000000000000000000000000000000000000 V000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF X0020000000000000000000000000000000000000000000000000000000000000000000000000 V0000000000000000000000000000000000000000000000000000000000000000000000000000 V000000000000000000000000000000000000000000000000000000000000003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF X0FE0000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF X0800000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF X0800000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF X0800000007F077B078787FEFBFFFF7FFFDFFFDFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000000000000001F X0800000007F7B7BDF7B7BFEFBFFFF7FFFDFFFDFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000000000000001F X08003F8007F7B7BDF7B7BFEFBFFFF7FFFDFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000000000000001F X7800200007F7B7BDF7FBFFEDB87477787078F078F8747FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000000000000001F XC000100007F7B03DF7FCFFF577B3B6F7BDF77DFEF7B3BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000000000000001F XC000100007F077BDF63F7FF577B7F5F7FDFF7DFEF7B7BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000000100000001F XC000080007F7F7BDF7BFBFF577B7F1F87DF87DFEF7B7BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000000380000001F XC000080007F7F7BDF7B7BFFAF7B7F6FFBDF77DFEF7B7BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0000000100000001F XC000000007F7F7BDF737BFFAF7B7F777BDB77DBEF7B7BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0001FFFFFFE0000200000080001F XC000000007F7F7B078B87FFAF877F7B87E78BE7EF877BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFE00007000001C0001F XC000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE003FFFFFFFFFFFFF VFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF800007FFFFFE0000200000080001F XC000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +-+-+-+-+-+-+-+- END OF PART 66 +-+-+-+-+-+-+-+-