首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何调试智能契约?

如何调试智能契约?
EN

Ethereum用户
提问于 2016-01-21 06:42:08
回答 7查看 32.3K关注 0票数 47

在开发智能契约时,如何调试它?是否有任何调试、测试工具或模拟器可以用来检查我的代码?

EN

回答 7

Ethereum用户

回答已采纳

发布于 2016-01-21 07:06:02

  1. 混合IDE有一个很好的集成的逐块模拟器和调试器.
  2. 加纳奇允许在不需要运行节点的麻烦的情况下进行快速契约测试。
  3. 一旦合约处于活动状态,就可以使用etherscan.io块资源管理器来查看内部状态和EVM执行日志。
票数 26
EN

Ethereum用户

发布于 2016-02-17 00:46:17

这些都是很好的工具,但是我发现日志事件对于调试来说要容易得多,而且如果您正在用金钱做任何事情,那么您需要记录所发生的事情。

在可靠的情况下,您可以使用事件登录。然后,您可以收听与web3.js“allEvents”回调签订的合同上的所有事件。

这就是我如何调试我的(目前) 780行的坚固性。

票数 17
EN

Ethereum用户

发布于 2016-10-25 21:21:58

要调试合同,可以使用实体浏览器

调试器为您提供了逐步调试任何事务(创建或调用)和可视化内存/存储空间的能力。它帮助您跟踪天然气的成本,通过操作码和剩余的天然气后,每一步。

要调试事务,有两种方法:1-使用块号和事务索引。

2-使用事务散列。

当加载事务成功时,将显示散列、从字段和到字段。然后加载vm跟踪。

调试器本身包含几个控件,这些控件允许跨出跟踪并查看所选步骤的当前状态。滑块和步进动作:滑块允许快速地从一个状态移动到另一个状态。步骤操作是:后退一步,向前一步跳下一次调用(这将选择下一个状态,它引用上下文更改-- CALL,CALLCODE,DELEGATECALL,CREATE)状态查看器:右上面板包含有关当前步骤的基本信息: VMTraceStep:当前步骤跟踪中的索引。步骤添加内存气体:这个步骤使用的气体剩余气体:气体左加载地址:当前代码加载,指正在执行的代码。其他6个面板描述当前选定的状态:指令列表:定义当前执行代码的所有指令的列表。堆栈存储更改内存调用数据$ Call Stack

通过单击第一行代码的左边框,可以添加和删除混合断点中的断点。您可以添加任意多个断点。

票数 11
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档