Hi Eliot,
Anyway, the interesting question to me is what are the advantages of your approach?
One is interactivity. The tool supports drilling down to instruction level, which is good for critical code sequences such as method prolog.
Another is comprehensibility. Because it can distinguish between generated machine code (specific methods and runtime routines), functions in the VM and other support code (including stuff like Linux on stack system call entry) one sees all activities in the VM presented meaningfully.
That's of course important, I agree. But if one uses out-of-image tools, this could be seen too, couldn't it? If one uses tools like OProfile or cachegrind, all this data are collected and available for analysis.
Another is evolvability. Because it's written in smalltalk I can develop the tool quickly and do so while I'm using it.
But this is because it's written in Smalltalk rather than because it runs within the debugee/profilee, no? Jan