Question: Currently I am developing an application using FUSE filesystem module in Linux (2.6 Kernel) in C language. Due to some programming error, the application crashes after mounting the filesystem. Since I am a novice developer in Linux/C environment. Could you please let me tell me possible options to debug such programs?

Answer: 
Run your fuse client with the `-d` option.
UML is very good for debugging generic parts of linux kernel like filesystem, scheduling but not the hardware platform or drivers specific part of kernel.

<http://www.csee.wvu.edu/~katta/uml/x475.html>

<http://valerieaurora.org/uml_tips.html>

And looking at the diagram carefully:

![Image result for FUSE filesystem](https://upload.wikimedia.org/wikipedia/commons/thumb/0/08/FUSE_structure.svg/2000px-FUSE_structure.svg.png)

You will see the application "hello" which is implementing all the FUSE callback handlers. So majority of debugging is in userspace program, as the FUSE kernel module (and libfuse) is generically meant to be used by ALL FUSE filesystem.