Added some code which allows the HeapListener to continue running if it struggles to find a file to write to, as well as stopping it from closing the System.out in that event.
Made that fix a bit better by making it adapt to which series of events occurs.
Stepping now tells you where the program has stepped to.
Corrected my indentation