neo-devpack-solidity 0.22.0

Production-focused Solidity-to-NeoVM compilation system
Documentation
---
title: "Error Reference: Debugging Workflow"
description: "Debugging Workflow from Error Reference."
---

# Debugging Workflow

[Back to Error Reference](/advisory-content/error-reference)

## Overview

A step-by-step approach to resolving compilation failures:

1. **Compile with full diagnostics:**

   ```bash
   neo-solc contract.sol -I devpack --json-errors --json-warnings -o build/ 2>diag.jsonl
   ```

2. **Fix highest-severity errors first.** Parse errors (E1xxx) block all later stages. Fix them before addressing semantic errors.

3. **Address semantic errors (E2xxx).** These are type and scope issues in your Solidity code.

4. **Review codegen errors (E3xxx).** These usually indicate unsupported EVM features that need refactoring for NeoVM.

5. **Run with manifest safety flags:**

   ```bash
   neo-solc contract.sol -I devpack \
     --deny-wildcard-permissions \
     --deny-wildcard-contracts \
     -o build/
   ```

6. **Validate with Neo-Express smoke tests** before deploying to testnet or mainnet.

::: tip
Use `-v` (verbose) to see optimization statistics and IR details. This can help diagnose unexpected bytecode size or behavior.
:::