> For the complete documentation index, see [llms.txt](https://chainide.gitbook.io/chainide-english-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chainide.gitbook.io/chainide-english-1/chainide-modules/4.7-plug-in-system-module/2.7.1-chainide-debugger.md).

# 2.7.1 ChainIDE Debugger

{% embed url="<https://www.youtube.com/watch?v=GTq2ltR2rSM>" %}

ChainIDE Debugger displays the status of the contract after entering the transaction hash.&#x20;

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.

1. 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.
2. 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.

### Debugger Panel

### Function Stack

The function stack lists the functions that the transaction is interacting with.

![](/files/936D7MwgsLit18T8LEJl)

### Solidity Locals

Solidity Locals are used to representing local variables within a function.

![](/files/DBHG6lpSU8z8p3CrTWf5)

### Solidity State

These are the state variables of the smart contract<br>

![](/files/rVFf7PwU8CEALyzW2yna)

### Opcodes

This panel shows the step number and opcode the debugger is currently in.

![](/files/zRISZSzmZu1TvU6ENysf)

### Step Details

Step Details shows more information about an opcode step.

![](/files/5IWKUVAGfLkNYRgj3lre)

### Stack

This panel shows the EVM stack

![](/files/M1HvbpWtOConOSkhJrJe)

### Memory

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.&#x20;

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).&#x20;

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.

![](/files/ZnWXxwCUwQloT2hnoK9F)

### Storage

The panel is persistently stored

### Call Stack

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.

![](/files/p8qrcodAQJtypMZvTcok)

### Call Data

The call data contains function parameters.

![](/files/i0vD53rjGTNXqcCeK8jJ)

### Return Value

Refers to the value that the function will return.

![](/files/MGvx0QQmKgXrQofa27Xr)

### Full Storage Changes

This shows the persistent storage at the end of the function.

![](/files/j1c8hhuuEZxNB3GlCohT)

### Debugger Breakpoint Function

![](/files/7JfxckCYlyFF6okFJizH)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://chainide.gitbook.io/chainide-english-1/chainide-modules/4.7-plug-in-system-module/2.7.1-chainide-debugger.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
