public override void PrintFrame(ScriptingContext context, StackFrame frame)
{
context.Print(frame);
bool native = false;
if (!PrintSource(context.Interpreter, frame))
{
native = true;
}
if (native)
{
AssemblerLine insn = frame.Thread.DisassembleInstruction(
frame.Method, frame.TargetAddress);
if (insn != null)
{
context.Interpreter.PrintInstruction(insn);
}
else
{
throw new ScriptingException(
"Cannot disassemble instruction at address {0}.",
frame.TargetAddress);
}
}
}