I'm trying to format an unit which contains the following declaration (using generics)
TJobList = class(specialize TSyncObjectList<TJob>)
end;
JCF actually works with simple generics. See:
http://bugs.freepascal.org/view.php?id=16128Your code has a useless "class" in front of specialize. Remove it.
But yes, JCF does not support the latest advanced generics syntax, maybe no class helpers either.
Patches are welcome, it has no active maintainer now.
How can I debug (and eventually fix) a package used in Lazarus IDE?
Just build everything with debug info and debug.

What's wrong with ptop?
It has no configuration dialog integrated in Lazarus IDE, looks like a good idea to integrate it. I'll take the initiative.
Does it support generics or other new syntax? I don't think so.
One option is to create a new formatter using CodeTools scanner / parser, but that requires some effort, too.