使用LLDB检查变量时的输出奇怪

时间:2018-06-12 15:46:11

标签: rust visual-studio-code lldb

我正在使用VSCode中的LLDB调试Parity Ethereum客户端,我试图通过多个引用访问一个值。

以下是仅包含相关部分的代码(完整代码here

&SignedTransaction t

t.action = Action::Create的值为action(通过手动打印验证)。

我希望获得action值,因为VSCode显示了一个误导性值:

VSCode showing misleading value

我无法仅设置打印p t.transaction值,但命令(ethcore_transaction::transaction::UnverifiedTransaction) $2 = { unsigned = { action = Call(((20) ['\', '!', '\xf6', '\xff', '\x7f', '\0', ...])) { = Call(((20) ['\', '!', '\xf6', '\xff', '\x7f', '\0', ...])) { RUST$ENUM$DISR = Create {...} 输出(截断):

t.action = Action::Call()

action = Create值正确显示的情况下。

为什么不显示action?如何打印更干净的fr v t->transaction.unsigned.action.RUST$ENUM$DISR值?

编辑:命令fr v t->transaction.unsigned.action显示正确的枚举值。但是我仍然不知道为什么{{1}}显示错误的值(它们也显示在图形界面中)。

0 个答案:

没有答案