问题描述
问题 here 是相关的。我在 aarch64
Ubuntu 16.04 主机上使用 QEMU 模拟了 x86_64
Alpine Linux,该主机本身安装在 Mac 上的 VirtualBox 中。我一直在尝试使用 Delve
call
命令来修改字符串值。我完全不知道该怎么做。尽管如此,即使是简单的 (dlv) call
也会返回:
(dlv) call
> main.my_function() /usr/lib/go/src/strings/strings.go:308 (hits goroutine(50):1 total:1) (PC: 0x4a929c)
Warning: debugging optimized function
Command failed: backend does not support function calls
特别是,(dlv) help call
返回
Resumes process,injecting a function call (EXPERIMENTAL!!!)
call [-unsafe] <function call expression>
当前限制:
- 只有指向堆栈分配对象的指针才能作为参数传递。
- 仅支持部分自动类型转换。
- 函数只能在运行的 goroutine 上调用 执行运行时。
- 当前的 goroutine 需要至少有 256 字节的可用空间 堆栈。
- 函数只能在 goroutine 停在一个安全的地方时被调用 点。
- 调用一个函数将恢复所有 goroutine 的执行。
- 仅在 linux 的本机后端支持。
我认为这个问题可能与最后一个要点有关,但我不知道它到底是什么。如果有人对此有所了解,我将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)