Neo Smart Contract Debugger for Visual Studio Code
The Neo Smart Contract Debugger enables Neo developers to debug their smart contracts in Visual Studio Code. It is built on the same virtual machine as the core Neo project to ensure maximum compatibility between the debugger and how contracts will execute in production.
Please see the Neo Blockchain Toolkit Quickstart for an overview of Neo Smart Contract Debugger along with the other tools in the Neo Blockchain Toolkit. Please review the Debugger Launch Configuration Reference for information on how to control the execution of contracts within the debugger.
The Neo blockchain supports writing smart contracts in a variety of languages. However, the debugger needs the smart contract complier to emit additional information the debugger uses to map Neo Virtual Machine instructions back to source code. Currently, the only Neo smart contract compiler that supports this debug information is v2.6 of NEON - the Neo Compiler for .NET and part of the Neo Development Pack for .NET. Please see the Quickstart for information on installing the latest version of NEON.
Additionally, It is an explicit goal for this debugger to work with any language that can compile Neo smart contracts. The debug information format has been fully documented. and we are working with other smart contract compilers communities such as neo-boa to support this format.
The Neo Smart Contract Debugger requires the .NET Core 3.1 runtime to be installed.
Using the checkpoint functionality on Ubuntu 18.04 requires installing libsnappy-dev and libc6-dev via apt-get.
Using the checkpoint functionality on MacOS requires installing rocksdb via Homebrew