DocumentCode :
2424845
Title :
Low-overhead interactive debugging via dynamic instrumentation with DISE
Author :
Corliss, Marc L. ; Lewis, E. Christopher ; Roth, Amir
Author_Institution :
Dept. of Comput. & Inf. Sci., Pennsylvania Univ., Philadelphia, PA, USA
fYear :
2005
fDate :
12-16 Feb. 2005
Firstpage :
303
Lastpage :
314
Abstract :
Breakpoints, watchpoints, and conditional variants of both are essential debugging primitives, but their natural implementations often degrade performance significantly. Slowdown arises because the debugger - the tool implementing the breakpoint/watchpoint interface - is implemented in a process separate from the debugged application. Since the debugger evaluates the watchpoint expressions and conditional predicates to determine whether to invoke the user, a debugging session typically requires many expensive application-debugger context switches, resulting in slowdowns of 40,000 times or more in current commercial and open-source debuggers! In this paper, we present an effective and efficient implementation of (conditional) breakpoints and watchpoints that uses DISE to dynamically embed debugger logic into the running application. DISE (dynamic instruction stream editing) is a previously proposed, programmable hardware facility for dynamically customizing applications by transforming the instruction stream as it is decoded. DISE embedding preserves the logical separation of application and debugger nstructions are added dynamically and transparently, existing application code and data are not statically modified - and has little startup cost. Cycle-level simulation on the SPEC 2000 integer benchmarks shows that the DISE approach eliminates all unnecessary context switching, typically limits debugging overhead to 25% or less for a wide range of watch-points, and outperforms alternative implementations.
Keywords :
embedded systems; instruction sets; program debugging; DISE embedding; application-debugger context switches; breakpoint-watchpoint interface; debugger logic; debugging primitives; dynamic instruction stream editing; dynamic instrumentation; low-overhead interactive debugging; programmable hardware facility; Context modeling; Costs; Debugging; Decoding; Degradation; Hardware; Instruments; Logic; Open source software; Switches;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
High-Performance Computer Architecture, 2005. HPCA-11. 11th International Symposium on
ISSN :
1530-0897
Print_ISBN :
0-7695-2275-0
Type :
conf
DOI :
10.1109/HPCA.2005.18
Filename :
1385953
Link To Document :
بازگشت