Skip to content

Commit

Permalink
src: apply debug force load fixups from 41e63fb
Browse files Browse the repository at this point in the history
Apply the src/node_contextify.cc and lib/module.js fixups from @bnoordhuis
nodejs@41e63fb

PR-URL: nodejs#2509
Reviewed-By: Ben Noordhuis <[email protected]>
  • Loading branch information
ofrobots authored and rvagg committed Sep 4, 2015
1 parent 0b2abe6 commit 72091f5
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
4 changes: 4 additions & 0 deletions lib/module.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
Expand Down
6 changes: 6 additions & 0 deletions src/node_contextify.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit 72091f5

Please sign in to comment.