mirror of https://github.com/nodejs/node.git
src: apply debug force load fixups from 41e63fb
Apply the src/node_contextify.cc and lib/module.js fixups from @bnoordhuis
41e63fb088
PR-URL: https://github.com/nodejs/node/pull/2509
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
pull/2714/head
parent
9fddd83cf9
commit
0159ac9c99
|
@ -423,6 +423,10 @@ Module.prototype._compile = function(content, filename) {
|
|||
|
||||
// Set breakpoint on module start
|
||||
if (filename === resolvedArgv) {
|
||||
// Installing this dummy debug event listener tells V8 to start
|
||||
// the debugger. Without it, the setBreakPoint() fails with an
|
||||
// 'illegal access' error.
|
||||
global.v8debug.Debug.setListener(function() {});
|
||||
global.v8debug.Debug.setBreakPoint(compiledWrapper, 0, 0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -261,6 +261,12 @@ class ContextifyContext {
|
|||
if (script_source.IsEmpty())
|
||||
return; // Exception pending.
|
||||
Local<Context> debug_context = Debug::GetDebugContext();
|
||||
if (debug_context.IsEmpty()) {
|
||||
// Force-load the debug context.
|
||||
Debug::GetMirror(args.GetIsolate()->GetCurrentContext(), args[0]);
|
||||
debug_context = Debug::GetDebugContext();
|
||||
CHECK(!debug_context.IsEmpty());
|
||||
}
|
||||
Environment* env = Environment::GetCurrent(args);
|
||||
ScopedEnvironment env_scope(debug_context, env);
|
||||
Context::Scope context_scope(debug_context);
|
||||
|
|
Loading…
Reference in New Issue