Truffle 调试合约
Truffle包含了一个集成调试器,这样你就可以调试针对你的合约进行的交易。这个调试器看起来有点像GDB这样的命令行调试器。
在区块链上调试交易,与调试传统应用程序(例如,用c++或Javascript编写的应用程序)不同。在区块链上调试交易时,你没有实际执行交易;相反,你只是过一遍该交易的执行历史,并将这个过程映射到关联源代码,是没有实际效果的。
例如,某个交易是往某个账号转账100个以太币,调试时并不会再次执行转账。
这给了我们很多调试的自由,因为我们可以在任何时间调试任何交易,只要我们拥有交易涉及的合约源代码和编译文件。可将这些代码和编译文件看作类似于传统调试器所需的调试符号。
为了调试交易,需要以下条件:
Truffle4.0或以上。
交易的哈希(ID)。
交易涉及到的合约源代码和构件(编译文件)。
注意,就算交易在执行时有异常,或者耗完了Gas,交易还是可以调试的,因为交易仍然存在于区块链上。
章节
Truffle – 启动调试器
Truffle – 调试命令
Truffle – 调试命令示例:添加和删除断点
要调试交易,可以运行以下命令: $ truffle debug <transaction hash> 调试哈希值为 0x8e5dadfb921dd...的交易,命令如下所示: ...