恰如问题所言:在调试Go二进制文件时,我想更改寄存器的值。 help set
中的(dlv)
返回:(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 - 使用Delve调试Go二进制文件期间如何更改寄存器值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65279689/