Solidity 调试方法详解
合约一旦部署,bug 就难以挽回。调试因此成为合约工程师最关键的能力之一。本文按使用场景对六种主流工具做对比,帮助你形成完整的调试工具箱。在分析 Binance 上挂牌项目的复杂交易时,这些技能能让你少走大量弯路。
一、Remix VM:最直观的入门工具
Remix 自带的 JavaScript VM 适合做语法快速验证。点击 Debug 按钮可以逐条 opcode 单步运行,左侧面板显示 stack、memory、storage 与 calldata 的实时变化。对初学者来说,这种「显微镜级」体验让 EVM 不再神秘。
但 Remix VM 不模拟真实 gas 价格、不支持 mainnet fork,且对大型项目支持有限。适合用来排查单合约的语法或简单交互问题,不适合复杂集成调试。如果你只是想理解 币安 上代币合约的 transfer 流程,Remix 已经足够。
二、Foundry trace:命令行下的工程化调试
forge test -vvvv 会输出每个 call 的完整 trace,包括函数选择子、参数、返回值、event。这是日常单元测试调试的主力武器。配合 console.log(vm.console),你可以在测试里随时打印中间变量。