调试命令:
要使用,获取要调试的交易 hash,运行以下命令启动调试器 truffle debug
enter 回车键设置为执行最后输入的命令。当调试器启动时,在执行期间enter 键被设置为步进到源代码的下一个逻辑元素。此时,我们可以按 enter 单步执行交易,或者输入一个可用命令来更详细地分析交易
o 跳过 此命令跳过当前行 (即当前在solidity 源文件中语句和表达式的位置),如果我们不想再当前行上进入函数调用或合约创建,或者我们想快速跳转到源文件中的特定点,请使用此命令。
i 进入 此命令进入当前所在的函数调用或合约创建。使用此命令跳转到该函数内,并快速开始调试其中存在的代码。
u 跳出 此命令退出当前运行的函数,如果这是交易的入口点,使用此命令会快速返回到调用函数,或结束交易的执行。
n 下一步 此命令将执行源代码中的下一个逻辑语句或表达式。例如,在虚拟机可以评估完整表达式之前,需要首先评估子表达式。如果要分析虚拟机评估的每个逻辑项,请使用此命令。
; 单步指令 此命令允许我们逐步执行虚拟机评估的每个单独指令。如果要了解 solidity 源代码创建的低级字节码,这个命令非常有用。使用此命令时,调试器还将在评估指令时打印出堆栈数据。 可以将此命令与数字参数一起使用,以多次步进。
p 打印指令 此指令打印当前指令和堆栈数据,但不会跳到下一条指令。当我们使用上面调试命令导航到一个交易语句时,希望查看当前指令和堆栈数据时,就可以使用此命令
h 打印可以调试命令列表
q 退出 退出调试器
r 重置 将调试器重置为交易的开头
b 设置断点 此命令允许我们为任何源文件中的任何行设置断点。命令后面可以接一个行号,或相对(当前)行号,或者可以简单地在当前所在行添加断点。 不需要加载交易来设置断点,但在这种情况下,必须制定将其设置的源文件。
B 移除断点 此命令允许我们删除任何现有断点,方法和添加断点一样,键入 B al 删除所有断点
c 调到下一个断点 此命令将代码继续执行,直到到达下一个断点或执行到最后一行
添加一个监视表达式 使用 +: 添加一个监视表达式,这样在每次执行的时候,都可以看到该表达式的值。
:移除监视表达式 使用 -: 删除监视表达式
? 列出多有的监视表达式和断点 此命令将显示所有监视表达式的列表及断点
v 显示变量 此命令将显示当前变量及其值
T 卸载交易 此命令卸载当前交易,以便可以加载新交易
t 加载交易 此命令加载新交易(给定 交易哈希),请注意,如果您已经加载了交易,则必须首先显示卸载它,然后才能加载新交易。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。