Design of PIN-Augmented Debugger for Multi-threaded Applications
暂无分享,去创建一个
The concurrent nature of multi-threaded program often leads to bugs like datarace, deadlock, livelock and starvation. Popular debuggers like Unix GNU debugger (GDB), Mac OS X debugger (LLDB), INTEL debugger (IDB) provide many features to debug a single threaded program but the features dealing with debugging concurrency are limited in case of multi-threaded programs. And also the developers have to use command prompt in order to debug the programs. In this paper, we have designed an algorithm for detecting deadlock during execution of multi-threaded programs by augmenting the GDB and LLDB with INTEL PIN [1], with an additional support that the algorithm will work on the application binaries that are designed using different thread models like PTHREAD, BOOST and INTEL’s TBB. We then also make this deadlock detection algorithm available to the developers by integrating it with Eclipse IDE.
[1] Nicholas Nethercote,et al. Dynamic Binary Analysis and Instrumentation , 2004 .
[2] Harish Patil,et al. Pin: building customized program analysis tools with dynamic instrumentation , 2005, PLDI '05.