A thread-aware debugger with an open interface

  • Authors:
  • Daniel Schulz;Frank Mueller

  • Affiliations:
  • Qcentic GmbH, Koln, Germany;Humboldt Univ., Berlin, Germany

  • Venue:
  • Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

While threads have become an accepted and standardized model for expressing concurrency and exploiting parallelism for the shared-memory model, debugging threads is still poorly supported. This paper identifies challenges in debugging threads and offers solutions to them. The contributions of this paper are threefold. First, an open interface for debugging as an extension to thread implementations is proposed. Second, extensions for thread-aware debugging are identified and implemented within the Gnu Debugger to provide additional features beyond the scope of existing debuggers. Third, an active debugging framework is proposed that includes a language-independent protocol to communicate between debugger and application via relational queries ensuring that the enhancements of the debugger are independent of actual thread implementations. Partial or complete implementations of the interface for debugging can be added to thread implementations to work in unison with the enhanced debugger without any modifications to the debugger itself. Sample implementations of the interface for debugging have shown its adequacy for user-level threads, kernel threads and mixed thread implementations while providing extended debugging functionality at improved efficiency and portability at the same time.