The best way, if it is available, is to use a FreeRTOS aware debugger and see what each task is waiting on to figure out why the tasks are all blocked.
Otherwise, you might need to trace through memory yourself to see what each task is waiting for, or implement something using trace macros to determine what is happening.