我正在使用Remix编译和运行我的代码,当我尝试运行这个函数时,它有一个错误,它建议进行调试。我以前没有使用过调试器Remix,所以我想问:
如何在Remix上使用调试器?
您能在代码中添加断点吗?
以下是我所犯的错误:


发布于 2018-02-06 16:13:29
在调试智能契约时,可以在代码中添加要使用的断点。您可以通过单击要设置断点的行号来做到这一点。
在本例中,当调用构造函数时,我在line 24设置了断点。

有几种方法可以调试您的合同。您可以单击Debugger选项卡,插入块号或事务哈希,然后按play按钮来执行这些步骤。但是我喜欢做的是运行一个我想测试的方法,然后按下控制台中的Debug按钮。它将加载正确的事务哈希。
在本例中,我在调用构造函数时放置一个断点,在Run选项卡中初始化我的合同,然后按下控制台中的Debug按钮。

您可以看到调试器在我的构造函数中停止了。您可以使用滑块下的按钮步进、后退、跨过、退出等等。下面的按钮允许您通过断点导航。
事务滑块允许您在通过特定事务时快速地绕过代码。
当事务因任何原因失败时,我喜欢做的一件事就是将滑块移到最末端。这很可能是您的代码停止的地方,也可能是失败的原因。
在进行事务处理时,您还会注意到,您将能够看到状态变量和局部变量的值,这在调试代码时会很有帮助。
https://ethereum.stackexchange.com/questions/38754
复制相似问题