Truffle 调试合约

Truffle包含了一个集成调试器,这样你就可以调试针对你的合约进行的交易。这个调试器看起来有点像GDB这样的命令行调试器。

在区块链上调试交易,与调试传统应用程序(例如,用c++或Javascript编写的应用程序)不同。在区块链上调试交易时,你没有实际执行交易;相反,你只是过一遍该交易的执行历史,并将这个过程映射到关联源代码,是没有实际效果的。

例如,某个交易是往某个账号转账100个以太币,调试时并不会再次执行转账。

这给了我们很多调试的自由,因为我们可以在任何时间调试任何交易,只要我们拥有交易涉及的合约源代码和编译文件。可将这些代码和编译文件看作类似于传统调试器所需的调试符号。

为了调试交易,需要以下条件:

Truffle4.0或以上。

交易的哈希(ID)。

交易涉及到的合约源代码和构件(编译文件)。

注意,就算交易在执行时有异常,或者耗完了Gas,交易还是可以调试的,因为交易仍然存在于区块链上。

章节

Truffle – 启动调试器

Truffle – 调试命令

Truffle – 调试命令示例:添加和删除断点

下一章:Truffle 启动调试器

  要调试交易,可以运行以下命令: $ truffle debug <transaction hash> 调试哈希值为 0x8e5dadfb921dd...的交易,命令如下所示: ...