Debugging Meeting notes




  • Determine what debugging functionality will be offered as part of Mercury.
  • Can we use print statements - chunks of code that will print things.
  • Can we generate traces, as we will have to be able to replay transactions.

Discussion items

10 minVM
  • Debugging in the Virtual Machine - tracing would be quite straightforward, but it depends on what we decide about determinism.  There are still open questions, Former user (Deleted) will be working on the Tuplespace.  Mike says it is necessary that we have non-determinism.  We have to have this in place before we can consider the translation be complete.
10 minCompiler
  •  Compiler debugging - 
  • For the Rosette level we will get printing.  We will be pulling things out of the 0.2 spec even as far as the language goes.
  • It would be nice to be able to map the VM state back to Rholang, but doesn't see that happening in mercury without a miracle.
  • Michael Stay (Unlicensed)Is there a way to track source in the compiled code?  Kyle is trying to get source information during compilation, there are some challenges in getting this information where it needs to go.
10 minTimelines & Work items
  • Where do the debugging features fit in terms of timeline?
  • Console.log with print statements for the Mercury timeframe. 
  • Basic console.log is already there, used in the test framework.  It's already working. 
  • Need documentation on how to use the console.log to perform debugging.
  • There is already gdb if you want to step through the C++ VM and Timm Schäuble has a document to do that.
  • there is a Java debugger which can give us a similar view on the Scala VM.  There is also a built in debugger in intelliJ - which are pretty good. 

Action items