You can find out what's going on behind the scenes of an application by using the tool strace. Simply invoke the tool in question like so:
$ strace <app>
Be warned there will be a lot of output generated by this tool so you'll likely want to dump it to a file.
$ strace -o <logfile> <app>
Example
First collect the log.
$ strace -o trace.log thunar
Once it either crashes or you close it, you can review the logs. Here's a dump of what the log file looks like.
$ less trace.log execve("/usr/bin/thunar", ["thunar"], [/* 93 vars */]) = 0 brk(0) = 0x13aa000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7913726000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=243371, ...}) = 0 mmap(NULL, 243371, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f79136ea000 close(3) = 0 open("/usr/lib64/libX11.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \337\241\3514\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1308808, ...}) = 0 mmap(0x34e9a00000, 3403160, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x34e9a00000 ....
References