FPC version ?
GDB version ?
What kind of exception?
- raise exception.create (exception thrown by code)
- run error (div 0 / range check /...)
- access violation
Dwarf or Stabs? Unless you got the old gdb 6.3.50 (which needs stabs), it should be dwarf.
If the exception is in a package (e.g. you call LCL and LCL fails) then it may help to compile the package with debug info too.
Either go to the options of each package, or use "Additions and overrides" (search wiki), add -gw for dwarf).
Since you get the unit, but not the line, it is likely to be a package, that has no debug info.
------------
If the exception is inside a library (so) or kernel, then it may also be impossible, because libraries may not provide the information needed to resolve the stack.
In cases of access violations (and sometimes others), if your code wrote to memory it should not have written too, your code may have overridden the stack, then there is no way to get it.