ABSTRACT
Increased reuse of software components has led to a software mishmash as existing packages are used as building blocks for new systems. Current debuggers cannot cope with the intricate interactions between components written in different languages and spread over multiple hosts. This paper explores the design of a pervasive debugger for concurrent and distributed applications. By executing the target in a virtualized environment, the debugger can atomically control the entire application, stopping and examining each component in a consistent state. Developers can simultaneously control multiple heterogeneous targets located anywhere in the software hierarchy.
- P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the Art of Virtualization. In Proc. of the 19th ACM Symp. on Operating Systems Principles, pp 164--177, Oct. 2003.]] Google ScholarDigital Library
- P. Bates. Debugging Heterogeneous Distributed Systems Using Event-Based Models of Behavior. In Proc. of the ACM Workshop on Parallel and Distributed Debugging, pp 11--22, May 1988.]] Google ScholarDigital Library
- P. Bates and J. Wileden. High-Level Debugging of Distributed Systems: The Behavioral Abstraction Approach. Journal of Systems and Software, 3(4):255--264, Dec. 1983.]]Google ScholarDigital Library
- B. Boothe. Efficient Algorithms for Bidirectional Debugging. In Proc. of the ACM Conf. on Programming Language Design and Implementation, pp 299--310, 2000.]] Google ScholarDigital Library
- M. Bubak, W. Funika, B. Bali's, and R. Wismüller. On-line Tool Support for Parallel Applications. In 9th International Conference on High Performance Computing and Networking, pp 415--424, Jun. 2001.]] Google ScholarDigital Library
- K. Chandy and L. Lamport. Distributed Snapshots: Determining Global States of Distributed Systems. ACM Transactions on Computer Systems, 3(1):63--75, Feb. 1985.]] Google ScholarDigital Library
- R. Crawford, R. Olsson, W. Ho, and C. Wee. Semantic Issues in the Design of Languages for Debugging. Computer Languages, 21(1):17--37, 1995.]] Google ScholarDigital Library
- J. Fowler and W. Zwaenepoel. Causal Distributed Breakpoints. In Proc. of the 10th International Conference on Distributed Computing Systems, pp 134--141, 1990.]]Google ScholarCross Ref
- D. Haban and W. Weigel. Global Events and Global Breakpoints in Distributed Systems. In Proc. of the 21st Annual Hawaii International Conference on System Sciences, Vol. II: Software Track, pp 166--175, Jan. 1988.]] Google ScholarDigital Library
- A. Ho, S. Hand, and T. Harris. PDB: Pervasive Debugging with Xen. In Proc. of the 5th IEEE/ACM International Workshop on Grid Computing, pp 260--265, Nov. 2004.]] Google ScholarDigital Library
- W. Hseush and G. Kaiser. Data Path Debugging: Data-Oriented Debugging for a Concurrent Programming Language. In Proc. of the ACM Workshop on Parallel and Distributed Debugging, pp 236--247, May 1988.]] Google ScholarDigital Library
- S. T. King, G. W. Dunlap, and P. M. Chen. Debugging Operating Systems with Time-Traveling Virtual Machines. In Proc. of the USENIX 2005 Technical Conf., Apr. 2005.]] Google ScholarDigital Library
- D. Kranzlmüller. DeWiz - Event-based Debugging on the Grid. In Proc. of the 10th Euromicro Workshop on Parallel, Distributed and Network-based Processing, pp 162--169, 2002.]]Google ScholarCross Ref
- K. Lawton, B. Denney, N. Guarneri, V. Ruppert, and C. Bothamy. Bochs User Manual. 2003.]]Google Scholar
- M. Linton. The Evolution of Dbx. In Proc. of the 1990 Summer Usenix Technical Conf., pp 211--220, Jun. 1990.]]Google Scholar
- B. Miller and J.-D. Choi. Breakpoints and Halting in Distributed Programs. In Proc. of the 8th International Conf. on Dist. Computing Systems, pp 316--323, Jun. 1988.]]Google Scholar
- R. Olsson, R. Crawford, and W. Ho. A Dataflow Approach to Event-based Debugging. Software--Practice & Experience, 21(2):209--230, 1991.]] Google ScholarDigital Library
- R. Stallman, R. Pesch, S. Shebs, et al. Debugging with GDB. Free Software Foundation, Boston, Mass. 2003.]]Google Scholar
Index Terms
- On the design of a pervasive debugger
Recommendations
Design methodology for on-chip-based processor debugger
Due to the increased complexity of modern embedded systems and time-to-market constraints, a debugger with efficient debugging functions is becoming increasingly necessary, and it plays an important role in the development of application systems. ...
Design and Implementation of Retargetable Software Debugger Based on GDB
ICCIT '08: Proceedings of the 2008 Third International Conference on Convergence and Hybrid Information Technology - Volume 01Many processors for embedded system have been developed and is widely being used in many industrial area. If we develop a new embedded processor, we need a simulator, compiler, and debugger for developing an operating system and basic program running on ...
Arduino Debugger
This letter describes our source-level debugger for Arduino which can be used to debug the code in Arduino using GNU debugger. The presented solution uses Eclipse as the visual front-end. It does not require any modification of the Arduino board or ...
Comments