module: fix --debug-brk on symlinked scripts

* fixes #1519
This commit is contained in:
Fedor Indutny 2012-01-24 22:45:34 +06:00 committed by Bert Belder
parent 2775c0e97e
commit ccf7b41a69

View File

@ -358,6 +358,11 @@ Module.prototype.require = function(path) {
};
// Resolved path to process.argv[1] will be lazily placed here
// (needed for setting breakpoint when called with --debug-brk)
var resolvedArgv;
// Returns exception if any
Module.prototype._compile = function(content, filename) {
var self = this;
@ -425,8 +430,15 @@ Module.prototype._compile = function(content, filename) {
var wrapper = Module.wrap(content);
var compiledWrapper = runInThisContext(wrapper, filename, true);
if (filename === process.argv[1] && global.v8debug) {
global.v8debug.Debug.setBreakPoint(compiledWrapper, 0, 0);
if (global.v8debug) {
if (!resolvedArgv) {
resolvedArgv = Module._resolveFilename(process.argv[1], null)[1];
}
// Set breakpoint on module start
if (filename === resolvedArgv) {
global.v8debug.Debug.setBreakPoint(compiledWrapper, 0, 0);
}
}
var args = [self.exports, require, self, filename, dirname];
return compiledWrapper.apply(self.exports, args);