如何在使用 Delve 调试 Go 二进制文件期间更改寄存器值?
How to change a register value during debugging a Go binary using Delve?
正如问题所说:在调试Go二进制文件时,我想更改寄存器的值。 help set
在 (dlv)
returns:
(dlv) help set
Changes the value of a variable.
[goroutine <n>] [frame <m>] set <variable> = <value>
See $GOPATH/src/github.com/go-delve/delve/Documentation/cli/expr.md for a description of supported expressions. Only numerical variables and pointers can be changed.
我查看了文档,但听起来很困惑。我感谢任何澄清。我只需要更改寄存器中的值。
delve debugger CLI set
命令不提供对机器寄存器的访问。您只能设置源代码级变量。短语:
Only numerical variables and pointers can be changed.
意味着某些源代码变量不能以这种方式操作,例如,您不能调用大多数运行时函数。例如,即使您有 math/big
,因此 NewInt
,您也不能使用它来构建新的 *Int
值。
正如问题所说:在调试Go二进制文件时,我想更改寄存器的值。 help set
在 (dlv)
returns:
(dlv) help set
Changes the value of a variable.
[goroutine <n>] [frame <m>] set <variable> = <value>
See $GOPATH/src/github.com/go-delve/delve/Documentation/cli/expr.md for a description of supported expressions. Only numerical variables and pointers can be changed.
我查看了文档,但听起来很困惑。我感谢任何澄清。我只需要更改寄存器中的值。
delve debugger CLI set
命令不提供对机器寄存器的访问。您只能设置源代码级变量。短语:
Only numerical variables and pointers can be changed.
意味着某些源代码变量不能以这种方式操作,例如,您不能调用大多数运行时函数。例如,即使您有 math/big
,因此 NewInt
,您也不能使用它来构建新的 *Int
值。