Я нашел решение, которое довольно неэффективно, но я использую его только когда debug_mode == 1, так что это не так уж и плохо ..
Я пишу eval_str в файл, я "импортирую этот файл ивызвать его внутри try {} catch {}, и я анализирую строку ошибки из трассировки стека ...
В моем конкретном случае такой код выглядит следующим образом:
var errFileContent = "exports.run = "+evalStringAsAFunction+";";
fs.writeFile('/home/vadmin/Alligator/lib/debugging.js', errFileContent, function (err) {
var debug = require('./debugging');
try{
debug.run(args...);
}
catch(er){
log.debug(parseg(er));
}
});