来自 github 的代码:https ://github.com/opencontainers/runc/blob/master/libcontainer/rootfs_linux.go#L59
这是为我们的兴趣调试的 if 块....
if err := mountToRootfs(m, config.Rootfs, config.MountLabel, hasCgroupns); err != nil {
return newSystemErrorWithCausef(err, "mounting %q to rootfs at %q", m.Source, m.Destination)
}
在 if 条件中,通过 newSystemErrorWithCausef 函数生成了一个错误,该函数在内部使用generic_error.go、 fmt.Sprintf 来格式化错误字符串。在我们的集成中,只有一次它遇到了这个 if 块。在获取更多细节的过程中,我想排除故障并了解为什么会发生这种情况。
到目前为止,尝试在第 55 行以及第 59 行的 if 块之前使用 fmt.Printf(........)。并且还尝试将上述语句放在prepareRootfs函数的第一行。然后在 prepareRootfs 函数的第一行尝试了 newSystemErrorWithCause(err, "some other message") 。总的来说,我没有看到我的消息生成的任何信息。
请提供任何信息以了解有关此问题的更多信息。请注意,我不是在寻找可能导致此错误的原因。我正在寻找如何从prepareRootfs的该功能中获取更多信息。