| N. Ramsey and D. Hanson, "A retargetable debugger", ACM SIGPLAN Conf. on Programming Language Design and Implementation, June 1992. |
....on a range of platforms, and thus provide a high level of infrastructure on different systems. In combination with standard programming languages, these tools are quite effective and can increase productivity significantly. However, debuggers such as dbx [4, 5, 6] and gdb [7] and others [8, 9, 10, 11, 12] do not emphasise the debugging and testing of applications developed with evolutionary engineering techniques. Debuggers of this type allow the user to manipulate the new program through process control commands, and to examine and modify the state of the program. In debugging the program, the ....
N.Ramsey and D.R. Hanson. "A retargetable debugger"., Proceedings of SIGPLAN'92 Conference on Programming Language Design and Implementation, pages 22-31. ACM, 1992.
....field and the register sp is placed in the Sp sub template field. dasm checks consistency with the previously defined templates and stores each instruction in its database. 5 DDB DISC Debugger ddb is a debugger used in debugging applications on the DISC processor, modeled after Ramsey s[8, 10] work with retargetable debuggers. It is a source level debugger, and can debug assembly files or C files. It runs on the host processor and debugs processes that are running on the DISC processor remotely. Cooperation from the DISC processor is assumed and basic debugging commands are shown in ....
Norman Ramsey. A Retargetable Debugger. PhD thesis, Princeton University, 1993.
....DCode interpreter which is contained within the local agent (this also provided substantial increases in the speed of interpretation) 4. gpdb Architectural Overview Although gpdb uses local agent technology to implement the internal modification and control mechanisms, a totally modular approach [Pizz93, Rams93] has been used in its development. This approach allows the easier modification and extension of each component independently, as can be seen in Figure 5. Object Format Reader Symbolic Reader main Process Control User s Executable Program dld Loader dint lib asm stubs Parent Process Child ....
Ramsey, N. A Retargetable Debugger. PhD Thesis, Princeton University, Princeton, NJ, January 1993.
....code modifications from the compiler (or optimiser) and save them for future analysis; BHS92, Zell83, Zura91] 2. Provide a purely interpretation system (generally operating directly upon the source code) which simulates the running of the executable code, within a controlled environment; or [CmKe93, RaHa92] 3. Reanalyse or decompile [CiGo93] the executable program file (generally using either data flow or control flow analysis techniques) and generate the required mappings to be able to represent the program s source code. HCU92, Wism94] The approach outlined in this paper differs from these ....
Ramsey, N. and Hanson D.R. A Retargetable Debugger. In Proceedings of the SIGPLAN '92 Conference on Programming Language Design and Implementation; SIGPLAN Notices, v27(7), pp 22-31, July 1992.
....the debugger requires several files when dealing with a program. These files supply the mapping between the high level program representation and the corresponding machine level representation. The files include at least the executable code and often the source code and the object code as well [4, 7, 23, 24]. Access to relevant files can become an issue in distributed environments, where the debugger and the program being debugged execute on different computers. If several linking formats are being used, which is a common case in distributed heterogeneous networks, then a debugger must be able to ....
....of the executor s state. The state consists of several components, usually data, instructions and registers, which all have different properties. Several approaches can be used to represent these state components. An elegant and most general approach is to compose the state from abstract memories [23]. Each abstract memory has its associated type, behavior and address space. One physical location can belong to several abstract memories. Some examples of abstract memories are code and data spaces, general purpose registers, floating point registers, and extra registers. An alternative approach ....
N. Ramsey and D. R. Hanson. A retargetable debugger. In Proceedings of SIGPLAN '92 Conference on Programming Language Design and Implementation, pages 22--31. ACM, 1992.
....This approach can present a problem with floating point numbers which use an inexact representation. Debuggers are ideally suited for comparing program execution. They can control the program execution, access the program s state and the relevant type information, and do not require source code [4, 6, 17, 23, 24, 25, 33]. These capabilities of debuggers can overcome the limitations of the manual and the file comparison approaches. This paper describes our relative debugger, called Guard 1 . In addition to ordinary debugging commands, Guard provides new commands for relative debugging. First, we present novel ....
....involves straightforward extensions to existing debuggers. However, distributed debugging is often not supported by operating systems. Because debugging interfaces provided by operating systems are highly system dependent, it is nontrivial to provide debuggers for heterogeneous environments [24]. The implementation of a relative debugger, which operates in a distributed and heterogeneous environment, requires a new approach. Guard uses a library of routines, which implement primitives for building debuggers and other similar applications in distributed and heterogeneous environments. The ....
N. Ramsey and D. R. Hanson. A retargetable debugger. In Proceedings of SIGPLAN'92 Conference on Programming Language Design and Implementation, pages 22--31. ACM, 1992.
....technology is ideally suited for building a tool to support the process of software evolution by providing necessary primitives for comparing program execution. Debuggers can control the program execution, access the program s state and the relevant type information, and do not require source code [6, 8, 18, 25, 26, 27, 34, 35]. These capabilities of debuggers can overcome the limitations of the manual and the file comparison approaches. This paper describes our relative debugger, called Guard 1 . In addition to ordinary debugging commands, Guard provides new commands for relative debugging. We discuss some conceptual ....
....and heterogeneous environments, with programs running on different types of machines. Standard debugging primitives provide very little support for distributed debugging. These primitives are highly system dependent, so it is nontrivial to implement debuggers for heterogeneous environments [21, 22, 26]. To successfully operate in a distributed and heterogeneous environment, Guard uses a different approach. To carry out its debugging operations, it utilizes a system, called Dynascope. Dynascope provides debugging servers, which can be accessed through a system independent debugging interface ....
N. Ramsey and D. R. Hanson. A retargetable debugger. In Proceedings of SIGPLAN'92 Conference on Programming Language Design and Implementation, pages 22--31. ACM, 1992.
....for ANSI C that is almost totally machine independent. This debugger, cdb, illustrates the advantages of the design and exposes areas where it falls short of its goals. cdb and the design strategy on which it is based capitalize on and extend recent work on machine independent debuggers. ldb [13, 14], a retargetable debugger for ANSI C, uses a variety of techniques to isolate architecture, compiler, and operating system dependencies. It uses a programmable symbol table format in which the form of the symbol table is machine independent but its content is machine dependent; the debugger ....
N. Ramsey. A Retargetable Debugger. PhD thesis, Princeton University, Princeton, NJ, Jan. 1993.
....files are required to supply language dependent information. For example, besides dynamically accessing its address space, the debugger also has to access several other items related to the executor. These include at least the executable code, and often the source code and the object code as well [4, 8, 22, 23]. Because debugging interfaces are implemented by operating systems, it is impractical to extend them with specialized and language specific features. This significantly reduces the portability and robustness of debuggers. If debugging is done locally, providing access to relevant files is not an ....
N. Ramsey and D. R. Hanson. A retargetable debugger. In Proceedings of SIGPLAN '92 Conference on Programming Language Design and Implementation, pages 22--31. ACM, 1992.
....any symbolic expressions which the user specifies should be expressed in the syntax of the source, and with source language semantics. 2. 7 Coopting the compiler An interesting approach to language neutral debugging has been demonstrated in prototype form at the SIGPLAN symposium in mid 1992[17]. In this 1 One of the authors worked on a direct execution project at the University of Maryland[12] in the early 1980s. The debugging capabilities of these systems were the high point of an otherwise misguided concept. Gough et al. paper the authors introduced the idea of arranging for ....
Ramsay N and Hanson D, "A retargetable debugger ", Proceedings of the SIGPLAN Conference on programming language design and implementation, San Fransisco July 1992.
.... primitives, are usually provided by the operating system [3, 22, 38] Debuggers rely on these primitives to carry out their operations [25, 30, 44] Because operating systems provide different debugging primitives, debuggers must be carefully engineered to support porting to different platforms [37]. Significant amount of research has been carried out recently to provide high level debugging abstractions and languages [12, 35, 36, 49] Some debuggers provide debugging in networked and heterogeneous environments by using interpreted languages, which control sequential debuggers on each target ....
N. Ramsey and D. R. Hanson. A retargetable debugger. In Proceedings of SIGPLAN'92 Conference on Programming Language Design and Implementation, pages 22--31. ACM, 1992.
....Spawn replace annotations (in bold) in the C code with machine specific code that dispatches on different instruction types and extracts or modifies instruction fields. 8 tax (i.e. encoding) and semantics. The syntax description is similar to the one in Ramsey s retargetable debugger [18] and NJ Machine Code Toolkit. Spawn extends Ramsey s work by expressing instructions semantics with a simple register transfer description of instruction semantics [9] Spawn descriptions are concise and easily derived from processor architecture manuals. They first describe registers and ....
Norman Ramsey and David Hanson. A Retargetable Debugger. In Proceedings of the SIGPLAN '92 Conference on Programming Language Design and Implementation (PLDI), pages 22--31, June 1992.
....no intermediate code is produced to re target the assembler. Once each target machine defines the assembly language mapping to machine readable code it can be translated directly. A retargetable assembler was implemented, but the linker was omitted from this work. 1.3. 3 Debugger A debugger[23, 26] is a program which is able to alter the normal execution of other programs (target programs) to find out what the other program is doing. It is able to ask target programs for specific pieces of data as well as tell them when to start and where to stop execution. The debugger provides an ....
....of bits and re target the assembler without recompiling. General limitations of the assembler include a lack of support for the following: variable length instructions, multi file compilations, relocatable output and object code formats. The debugger work follows Ramsey s retargetable debugger[23, 26]. It is greatly simplified and lacks retargeting features, but utilizes much of the same data structures and methodology implemented by Ramsey. 1.5 Contributions The compiler back end for DISC involved re targeting lcc (obtained from Princeton University via ftp) and making a few minor ....
[Article contains additional citation context not shown here]
Norman Ramsey. A Retargetable Debugger. PhD thesis, Princeton University, 1993.
....the one shown in Fig. 1.1. Here are some examples: Programming languages Forth is used in many fields; it is especially popular in embedded control applications. PostScript is used primarily in typesetting and other display purposes; its versatility is shown by an application in a debugger [RH92] Because the majority of PostScript code is written by programs, it can also be regarded as intermediate language. Pop is primarily used by the British AI community; it offers infix notation for the benefit of those who are uncomfortable with postfix. 1 Dynamic linking allows hacking around ....
Norman Ramsey and David R. Hanson. A retargetable debugger. In SIGPLAN '92 Conference on Programming Language Design and Implementation, pages 22--31, 1992.
....available on a range of platforms, and thus provide a high level of infrastructure on different systems. In combination with standard programming languages, these tools are quite effective and can increase productivity significantly. However, debuggers such as dbx [4, 5, 6] and gdb [7] and others [8, 9, 10, 11, 12] do not emphasise the debugging and testing of applications developed with evolutionary engineering techniques. Debuggers of this type allow the user to manipulate the new program through process control commands, and to examine and modify the state of the program. In debugging the program, the ....
N.Ramsey and D.R. Hanson. "A retargetable debugger"., Proceedings of SIGPLAN'92 Conference on Programming Language Design and Implementation, pages 22-31. ACM, 1992.
....languages and operating systems mean that the code may behave differently on two systems. Because of these practical considerations, it is desirable that software tools are available to simplify the process as much as possible. Traditional debuggers such as dbx [5, 11, 23] and gdb [21] and others [14, 15, 16, 17, 7] do not emphasise the debugging and testing of applications which change during their development cycle. Debuggers of this type allow the user to manipulate the new program through process control commands, and to examine and modify the state of the program. In debugging the program, the user must ....
Ramsey, N and Hanson, D. "A retargetable debugger"., Proceedings of SIGPLAN'92 Conference on Programming Language Design and Implementation, pages 22-31. ACM, 1992.
....manipulating machine instructions. NJMC supports this at both, the encoding and decoding level, by means of machine specifications that resemble instruction descriptions found in architecture manuals. This toolkit has successfully been used in a retargetable linker [15] and a retargetable debugger [26]. The EEL library was built based on the NJMC machine specs, and introduced control flow support based on techniques developed in the QPT [20] profiler. 3. Binary translation Binary translation techniques aim at translating the object code of an application (i.e. its binary code) from an old ....
N. Ramsey and D. Hanson. A retargetable debugger. In Proceedings Programming Languages, Design and Implementation, pages 22--31, June 1992.
....programs. Most debuggers in wide use today, e.g. the GNU debugger gdb [1] and Microsoft s Visual C debugger, do indeed depend heavily on a specific operating system or on a specific platform or compiler. There are, however, a few machine independent debuggers; recent examples include ldb [2] and cdb [3] both of which are source level debuggers for C. Retargetable debuggers occupy a vast design space, because there are numerous axes of machine dependence. Debuggers can depend on machine architectures, operating systems, compilers, and linkers, and perhaps even user interfaces. There ....
N. Ramsey and D. R. Hanson, `A retargetable debugger', Proceedings of the SIGPLAN'92 Conference on Programming Language Design and Implementation, SIGPLAN Notices, 27(7), 22--31 (1992). 14
....ddd. gdb features that were not implemented include: Debugging a target that is already running, which gdb can on machines where this is possible. Invoking target functions from the debugger; the nub doesn t support this feature, because a separate evaluation facility can support it [13]. Examining core dumps; this feature could be supported by writing a nub specifically for browsing core dumps. Interrupting a running target. Handling signals. 7 Discussion deet s front end runs on any machine on which tksh runs, which currently includes virtually all UNIX variants, ....
N. Ramsey and D. R. Hanson. A retargetable debugger. Proceedings of the SIGPLAN'92 Conference on Programming Language Design and Implementation, SIGPLANNotices, 27(7):22--31, July 1992.
No context found.
Norman Ramsey and David R. Hanson, `A retargetable debugger', Proceedings of the SIGPLAN '92 Conference on Programming Language Design and Implementation, SIGPLAN Notices, 27(7), 22--31 (1992).
....A final refinement is needed to write relocation closures to disk. In memory, the relocating transformation is represented as a function pointer, which is neither machine independent nor meaningful when written to disk. Instead, we describe relocating transformations using a subset of PostScript (Ramsey 1992), extended with special operators to get addresses and values out of closures. The machine independent representation of the transformation in the bltzal closure is 4 1 cla force add cl loc force sub 2 bitshift 16 narrows 1 clv orb cl loc force 4 emit at The first line takes the relocatable ....
Ramsey, Norman. 1992 (December). A Retargetable Debugger.
....specified with modest effort; our MIPS, SPARC, and 486 specifications are 127, 193, and 460 lines. We have two applications that use the toolkit. mld, a retargetable, optimizing linker (Fernandez 1992) uses the toolkit to encode instructions and emit executable files. ldb, a retargetable debugger (Ramsey 1992; Ramsey and Hanson 1992) uses the toolkit to decode instructions and to implement breakpoints. The toolkit provides practical benefits. It reduces retargeting effort. For example, ldb s disassembler for the MIPS requires less than 100 lines of code, and mld has replaced 450 lines of ....
....widens. Better compression would help reduce the storage requirements for large network traces, which can consume gigabytes (Duffy et al. 1994) 13 Discussion The toolkit s specification language evolved from a simpler language used to recognize RISC instructions in a retargetable debugger (Ramsey 1992, Appendix B) That language had field constraints and patterns built with conjunction and disjunction, but no concatenation and no constructors. There was no notion of instruction stream; instructions were values that fit into a machine word. We extended that language to specify encoding ....
Ramsey, Norman. 1992 (December). A Retargetable Debugger.
....for ANSI C that is almost totally machine independent. This debugger, cdb, illustrates the advantages of the design and exposes areas where it falls short of its goals. cdb and the design strategy on which it is based capitalize on and extend recent work on machine independent debuggers. ldb [13, 14], a retargetable debugger for ANSI C, uses a variety of techniques to isolate architecture, compiler, and operating system dependencies. It uses a programmable symbol table format in which the form of the symbol table is machine independent but its content is machine dependent; the debugger ....
....err( out of word storage ) 31 strcpy(words[next] word, word) 32 return p = words[next ] 33 Figure 5: Source listing of lookup.c. this point, the user can explore the target, set breakpoints, etc. and can start the target with a c command. cdb can set breakpoints on stopping points [14], which include individual expressions and the entry and exit points of compound statements. For example, there are seven stopping points in lines 16 19 of Figure 3 s wf.c as illustrated by the diamonds ( below. 16 while ( c = getchar( 1 isletter(c) 0) 17 ; 18 for (s = buf; c = ....
[Article contains additional citation context not shown here]
N. Ramsey and D. R. Hanson. A retargetable debugger. Proceedings of the SIGPLAN'92 Conference on Programming Language Design and Implementation, SIGPLAN Notices, 27(7):22--31, July 1992.
....A final refinement is needed to write relocation closures to disk. In memory, the relocating transformation is represented as a function pointer, which is neither machine independent nor meaningful when written to disk. Instead, we describe relocating transformations using a subset of PostScript [Ramsey 1992], extended with special operators to get addresses and values out of closures. The machineindependent representation of the transformation in the bltzal closure, again omitting the tests of conditions, is 4 1 cla force add cl loc force sub 2 bitshift 16 narrows 1 clv orb cl loc force 4 emit at ....
Ramsey, N. 1992. A retargetable debugger. Ph.D. thesis, Princeton University, Department of Computer Science. Also Technical Report CS-TR-403-92.
....of instructions and on automating the translation to and from that abstract representation. We have personal experience with two applications that use the toolkit. mld, a retargetable, optimizing linker [Fern andez 1995] uses the toolkit to encode instructions and emit executable files. ldb [Ramsey 1992; Ramsey and Hanson 1992] a retargetable debugger, uses the toolkit to decode instructions and to implement breakpoints. Others have used the toolkit to help develop a run time code generator, a decompiler, an execution time analyzer [Braun 1996] and an optimizing compiler for object oriented ....
....and on automating the translation to and from that abstract representation. We have personal experience with two applications that use the toolkit. mld, a retargetable, optimizing linker [Fern andez 1995] uses the toolkit to encode instructions and emit executable files. ldb [Ramsey 1992; Ramsey and Hanson 1992], a retargetable debugger, uses the toolkit to decode instructions and to implement breakpoints. Others have used the toolkit to help develop a run time code generator, a decompiler, an execution time analyzer [Braun 1996] and an optimizing compiler for object oriented languages [Dean et al. ....
[Article contains additional citation context not shown here]
Ramsey, N. and Hanson, D. R. 1992. A retargetable debugger. ACM SIGPLAN '92 Conference on Programming Language Design and Implementation, in SIGPLAN Notices 27, 7 (July), 22--31. SPARC International 1992. The SPARC Architecture Manual, Version 8. SPARC International, Englewood Cliffs, NJ.
....of instructions and on automating the translation to and from that abstract representation. We have personal experience with two applications that use the toolkit. mld, a retargetable, optimizing linker [Fern andez 1995] uses the toolkit to encode instructions and emit executable files. ldb [Ramsey 1992; Ramsey and Hanson 1992] a retargetable debugger, uses the toolkit to decode instructions and to implement breakpoints. Others have used the toolkit to help develop a run time code generator, a decompiler, an execution time analyzer [Braun 1996] and an optimizing compiler for object oriented ....
....not easily support standard, machinedependent formats for relocatable object code, and it does not provide optimizations that vendors may build into assemblers, like MIPS instruction scheduling. SLED evolved from a simpler language used to recognize RISC instructions in a retargetable debugger [Ramsey 1992, Appendix B] That language had field constraints and patterns built with conjunction and disjunction, but no concatenation and no constructors. There was no notion of instruction stream; instructions were values that fit in a machine word. We extended that language to specify encoding procedures ....
Ramsey, N. 1992. A retargetable debugger. Ph.D. thesis, Princeton University, Department of Computer Science. Also Technical Report CS-TR-403-92.
No context found.
N. Ramsey and D. R. Hanson. A retargetable debugger. Proceedings of the SIGPLAN'92 Conference on Programming Language Design and Implementation, SIGPLAN Notices, 27(7):22--31, July 1992.
No context found.
N. Ramsey and D. Hanson, "A retargetable debugger", ACM SIGPLAN Conf. on Programming Language Design and Implementation, June 1992.
No context found.
N. Ramsey and D. R. Hanson, `A retargetable debugger', Proceedings of SIGPLAN'92 Conference on Programming Language Design and Implementation. ACM, 1992, pp. 22--31.
No context found.
Norman Ramsey, `A retargetable debugger', Ph.D. Thesis, Princeton University, Princeton, NJ, January 1993.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC