}
}
-GuileInterpreter::GuileInterpreter() {
+GuileInterpreter::GuileInterpreter()
+ : logger(log4cxx::Logger::getLogger("bindings.Guile")) {
scm_init_guile();
scm_c_use_module("system repl server");
scm_call_0(scm_c_public_ref("system repl server", "spawn-server"));
- scm_c_load_extension(CMAKE_INSTALL_FULL_LIBDIR "/frida/plugins/Interpreter/libguile-frida-binding",
+ scm_c_load_extension("libguile-frida-binding",
"scm_init_frida_module");
guile_output_port = scm_open_output_string();
guile_error_port = scm_open_output_string();
scm_set_current_output_port(guile_output_port);
scm_set_current_error_port(guile_error_port);
+ LOG4CXX_INFO(logger, "Initializing GUILE finished");
}
int GuileInterpreter::evaluate(const std::string& command,
std::ostream& stdout,
std::ostream& stderr,
std::string& result) {
+ LOG4CXX_INFO(logger, "Loading file \"" << filename << "\"");
scm_c_primitive_load(filename.c_str());
+ LOG4CXX_INFO(logger, "Finished file \"" << filename << "\"");
+ return 0;
}