如何解决“仅在 linux 的本机后端支持”对于 Delve 中的 call 命令意味着什么?
问题 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 举报,一经查实,本站将立刻删除。