我知道这个问题很老了,但是如果你使用-f它,它将在前台运行,这对调试很有帮助.该-s开关禁用多线程,这也非常有用.
我正在开发一个FUSE驱动程序,这个页面非常有用:http://www.cs.hmc.edu/~geoff/classes/hmc.cs135.201109/homework/fuse/fuse_doc.html
报价:
Printf只有在使用-f开关运行时,printf/fprintf调试代码才有效.否则,Fuse断开stdout和stderr.
首先,确保您正在编译启用调试符号(-g选项gcc).在运行程序之前,使用shell命令启用核心转储:
ulimit -c unlimited
Run Code Online (Sandbox Code Playgroud)
然后当应用程序崩溃时,它会core在当前工作目录中保留一个文件(只要它可以写入它).
然后,您可以在gdb调试器中加载核心文件:
gdb <executable file> <core file>
Run Code Online (Sandbox Code Playgroud)
...它会告诉你它崩溃的地方,并让你检查变量等等.