Fine-grained dynamic instrumentation of commodity operating system kernels
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Pin: building customized program analysis tools with dynamic instrumentation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Tdb: a source-level debugger for dynamically translated programs
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Efficient, transparent, and comprehensive runtime code manipulation
Efficient, transparent, and comprehensive runtime code manipulation
PinADX: an interface for customizable debugging with dynamic instrumentation
Proceedings of the Tenth International Symposium on Code Generation and Optimization
Hi-index | 0.00 |
Dynamic instrumentation systems, used for program analysis, bug isolation, software security and simulations, are becoming increasingly popular. There exists a need to debug dynamically instrumented programs while keeping the presence of dynamic instrumentation system hidden from debug users. Existing debuggers use debug information in program binaries that have been generated by a compiler at static compile time, to provide their debug support. Since dynamic instrumentation systems generate program code at run-time, existing debuggers are not able to provide the same kind of debug support. The most comprehensive existing debug techniques that satisfy this need, used by Tdb, require modification of existing debuggers. This paper provides an OS level approach that silently intercepts the communication between a debugger and the OS and uses a set of debug specifications to provide Tdb's transparent debugging. As a result, any existing debugger can be used to debug dynamically instrumented programs. The proposed techniques have been implemented on x86/Linux platform for the dynamic instrumentation system Pin.