如何在 qemu-arm chroot 中调试 bash 脚本

如何在 qemu-arm chroot 中调试 bash 脚本

我正在运行一个 debian debootstrap 脚本来创建一个arm系统。然而,脚本有时会失败,并且错误消息并没有真正的帮助。所以我必须做更多的调试,这比我想象的要复杂。该脚本已经使用 set -x、最大详细程度等运行。所以我想 strace 是我剩下的唯一选择。但 strace(带有 -ff 选项)仅在 chroot 步骤开始之前提供输出。我不知道这到底是什么原因。 chroot 步骤本身(因为 strace 无法查看 chroot)或者它在 chroot 中的 arm 下运行(它不应该因为它是在 chroot 之外启动)?如果我在 chroot 中启动 strace,它也不起作用,因为 qemu 的支持似乎非常有限。因此,最好的办法是在我的普通系统上运行 strace,但它必须能够查看 chroot 内部。但我不确定这是否可能。也许有人知道除了 strace 之外的其他一些高级调试选项?

答案1

我跑了

strace -o /var/tmp/chr.1 -f chroot . /bin/bash 

我发现我在 chroot 目录的 /usr/bin/ 中缺少 qemu-arm 的副本。

相关内容