Tdb: a source-level debugger for dynamically translated programs

  • Authors:
  • Naveen Kumar;Bruce R. Childers;Mary Lou Soffa

  • Affiliations:
  • University of Pittsburgh, Pittsburgh, Pennsylvania;University of Pittsburgh, Pittsburgh, Pennsylvania;University of Virginia, Charlottesville, Virginia

  • Venue:
  • Proceedings of the sixth international symposium on Automated analysis-driven debugging
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Debugging techniques have evolved over the years in response to changes in programming languages, implementation techniques, and user needs. A new type of implementation vehicle for software has emerged that, once again, requires new debugging techniques. Software dynamic translation (SDT) has received much attention due to compelling applications of the technology, including software security checking, binary translation, and dynamic optimization. Using SDT, program code changes dynamically, and thus, debugging techniques developed for statically generated code cannot be used to debug these applications. In this paper, we describe a new debug architecture for applications executing with SDT systems. The architecture provides features that create the illusion that the source program is being debugged, while allowing the SDT system to modify the executing code. We incorporated this architecture in a new tool, called tdb, that integrates a SDT system, Strata, with a widely used debugger, gdb. We evaluated tdb in the context of a code security checker. The results show that a dynami-cally translated program can be debugged at the source level and that the approach does not overly increase the run-time perfor-mance or memory demands of the debugger.