如何解决Strace:如何调试无效的参数错误
| 我正在编写一个python程序,以使用ctypes通过挂载系统调用来挂载熔丝文件系统。现在,它在挂载系统调用中给出了无效的参数错误。我已经检查了所有参数,它们似乎是正确的。我从一个朋友那里听说strace可用于调试这些类型的错误。有人可以指导我如何使用strace调试问题。任何帮助,将不胜感激。提前致谢。 让我让这个问题更通用,如何使用strace调试c语言中的相同问题。解决方法
使用
strace
很容易,但是它可能不会给您想要的信息。
由于您知道要使用什么系统调用,因此最简单的方法是:
strace -fv -e trace=mount mount /dev/sda1 /tmp
(将mount /dev/...
替换为python脚本)。
-f
将跟随子级(此处可能是不必要的),-v
表示详细,and5ѭ指示strace
仅跟踪mount
系统调用。
示例输出在这里:
$ sudo strace -fv -e trace=mount mount /dev/sda1 /tmp
mount(\"/dev/sda1\",\"/tmp\",\"ext2\",MS_MGC_VAL,NULL) = 0
因此,您看到的参数基本上以到达内核的形式传递,并返回了代码。
虽然您不会得到ѭ9的\“解释\”,但这仅应在source参数具有无效的超级块时发生,因此消息非常明确(除非您正在做更多事情)异国情调,在这种情况下,这里还会列出其他可能性)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。