Abstract:
Object-oriented programs, when executed, produce a
complex webs of objects and references between them, generally
referred to as object graphs. These object graphs are
difficult to design correctly and even more difficult to debug
if incorrect. Unfortunately, very subtle bugs in object-oriented
programs are directly caused by object graph
topologies. Snapshot query-based debuggers let programmers
examine object graph snapshots of programs in detail
using a specially designed query language. This provides
users with an ability to debug and examine their programs
in great detail at the time when the memory snapshot is
taken.