Skip to content
This repository was archived by the owner on Apr 3, 2024. It is now read-only.

Commit da40e94

Browse files
author
Matt Loring
committed
support log statements with no expressions
1 parent fbd31fe commit da40e94

File tree

2 files changed

+30
-6
lines changed

2 files changed

+30
-6
lines changed

lib/v8debugapi.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -491,12 +491,16 @@ module.exports.create = function(logger_, config_, fileStats_) {
491491
if (breakpoint.action === 'LOG') {
492492
// TODO: This doesn't work with compiled languages if there is an error
493493
// compiling one of the expressions in the loop above.
494-
var frame = execState.frame(0);
495-
var evaluatedExpressions = breakpoint.expressions.map(function(exp) {
496-
var result = state.evaluate(exp, frame);
497-
return result.error ? result.error : result.mirror.value();
498-
});
499-
breakpoint.evaluatedExpressions = evaluatedExpressions;
494+
if (!breakpoint.expressions) {
495+
breakpoint.evaluatedExpressions = [];
496+
} else {
497+
var frame = execState.frame(0);
498+
var evaluatedExpressions = breakpoint.expressions.map(function(exp) {
499+
var result = state.evaluate(exp, frame);
500+
return result.error ? result.error : result.mirror.value();
501+
});
502+
breakpoint.evaluatedExpressions = evaluatedExpressions;
503+
}
500504
} else {
501505
var captured = state.capture(execState, breakpoint.expressions, config);
502506
breakpoint.stackFrames = captured.stackFrames;

test/test-v8debugapi.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,26 @@ describe('v8debugapi', function() {
370370

371371
});
372372

373+
it('should be possible to wait on a logpoint without expressions',
374+
function(done) {
375+
var bp = {
376+
id: breakpointInFoo.id,
377+
action: 'LOG',
378+
log_message_format: 'Hello World',
379+
location: breakpointInFoo.location
380+
};
381+
api.set(bp, function(err) {
382+
assert.ifError(err);
383+
api.wait(bp, function(err) {
384+
assert.ifError(err);
385+
api.clear(bp);
386+
done();
387+
});
388+
process.nextTick(function() {foo(1);});
389+
});
390+
391+
});
392+
373393
it('should capture state', function(done) {
374394
// clone a clean breakpointInFoo
375395
var bp = {id: breakpointInFoo.id, location: breakpointInFoo.location};

0 commit comments

Comments
 (0)