2.7.1 ChainIDE Debugger
Debugger plugin for all EVM series blockchains
Last updated
Debugger plugin for all EVM series blockchains
Last updated
ChainIDE Debugger displays the status of the contract after entering the transaction hash.
It can be used for transactions created on ChainIDE or by providing the address of the transaction. The latter presupposes that you have the source code of the contract, or that you have entered a verified contract address.
The following methods start a debugging session.
When a successful or failed transaction appears in the terminal, click the debug button. The debugger will be activated and given focus in the side panel.
Activate the debugger in the plugin manager and click on the error in the icon panel. To start a debugging session, enter the address of a deployed transaction -- while having source code in the editor, and click the Start Debugging button.
The function stack lists the functions that the transaction is interacting with.
Solidity Locals are used to representing local variables within a function.
These are the state variables of the smart contract
This panel shows the step number and opcode the debugger is currently in.
Step Details shows more information about an opcode step.
This panel shows the EVM stack
Every new message call clears the memory. Memory is linear and can be addressed at the byte level. The read width is limited to 256 bits, while the write width can be 8 bits or 256 bits.
The memory panel consists of 3 columns. You may need to make the Remix side panels wider to get the formatting right. (Drag the border between the main panel and the side panel to the right).
Column 1 is the location in memory. The second column is the encoded value in hexadecimal. Column 3 is the decoded value. If there is nothing, then a question mark (?) will be displayed -- like this.
The panel is persistently stored
All computations are performed on a data array called the call stack. It has a maximum size of 1024 elements and contains 256-bit words.
The call data contains function parameters.
Refers to the value that the function will return.
This shows the persistent storage at the end of the function.