目前我正在使用C语言的Linux(2.6内核)中的FUSE文件系统模块开发应用程序.由于某些编程错误,应用程序在安装文件系统后崩溃.因为我是Linux/C环境中的新手开发人员.你能告诉我调试这些程序的可能选项吗?
我知道这个问题很老了,但是如果你使用-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
然后当应用程序崩溃时,它会core
在当前工作目录中保留一个文件(只要它可以写入它).
然后,您可以在gdb
调试器中加载核心文件:
gdb
...它会告诉你它崩溃的地方,并让你检查变量等等.
使用该-d
选件运行保险丝客户端.