Global conditions in debugging distributed programs
Yoshifumi Manabe, Makoto Imase · IEEE Computer Society Press eBooks · 1995
Abstract This paper describes algorithms for a distributed program debugger based on a replay technique. Halting at breakpoints and selective tracing are its fundamental features. In distributed systems, a given breakpoint or trace condition does not uniquely define the global state at which to halt or trace, because of the asynchrony of processes and communications. This paper therefore proposes the “first” global state Inf(P) to be the best global state at which to halt or trace, for a given condition P. Two kinds of global conditions related to plural processes, Conjunctive Predicates and Disjunctive Predicates, are considered. The authors present an algorithm that halts processes at Inf(P) for a given Conjunctive Predicate P. It is also shown that, for a Disjunctive Predicate P, it is impossible to halt at Inf(P), but possible to halt at some state which satisfies P. An algorithm is also provided for selective tracing when a Conjunctive or Disjunctive Predicate selection condition is given.