Devel::Chitin::Eval - Implementation for Devel::Chitin::eval()


This module is responsible for evaluating a string in the context of the debugged program. One idiosyncrasy in the process is that this eval is done in the context of the closest stack frame not in package DB. That's why Devel::Chitin::eval() works as it does, requiring a debugger subclass to cede control back and delivering the result via a callback.

If you can arrange for your debugger code to be in package DB, and for all the stack frames up to the debugged program to be in package DB, then you can call DB::_eval_in_program_context directly without the callback, and get the result back directly.




Anthony Brummett <>


Copyright 2017, Anthony Brummett. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.