// Test retrieving the log multiple times. const root = newGlobal(); const dbg = new Debugger(); dbg.addDebuggee(root) root.eval([ "this.allocs = [];", "this.doFirstAlloc = " + function () { this.allocs.push({}); this.firstAllocLine = Error().lineNumber; }, "this.doSecondAlloc = " + function () { this.allocs.push(new Object()); this.secondAllocLine = Error().lineNumber; } ].join("\n")); dbg.memory.trackingAllocationSites = true; root.doFirstAlloc(); let allocs1 = dbg.memory.drainAllocationsLog(); root.doSecondAlloc(); let allocs2 = dbg.memory.drainAllocationsLog(); let allocs1Lines = allocs1.filter(x => !!x.frame).map(x => x.frame.line); assertEq(allocs1Lines.indexOf(root.firstAllocLine) != -1, true); assertEq(allocs1Lines.indexOf(root.secondAllocLine) == -1, true); let allocs2Lines = allocs2.filter(x => !!x.frame).map(x => x.frame.line); assertEq(allocs2Lines.indexOf(root.secondAllocLine) != -1, true); assertEq(allocs2Lines.indexOf(root.firstAllocLine) == -1, true);