I have a Perl project which contains a subdirectory test/lib under which Test::Unit::TestCases reside. This directory is in the @INC path of the project. I also have a script test/run_tests.pl which invokes TestRunner to execute a test suite. In these circumstances breakpoints set in the test case modules are ignored by the debugger.
The reason of this misbehavior seems to be the conversion of absolute paths to working directory relative paths undertaken by DebuggerInterface.java (see method getRelativePath). I understand that this conversion is only for the benefit of remote debugging. It apparently breaks the above described setup: the command issued to the debugger is "b load lib/Test/Case.pm" which is rightfully ignored by perl -d. It works correctly with "b load /abs/path/to/test/lib/Test/Case.pm". I also experimented with "b load Test/Case.pm" and "b load ./Test/Case.pm" - these variants, although sensible, do not work.
Also, in the working version, the GUI debugger in fact suspends on load of the module, which should not happen (perl -d should only suspend internally to make setting line breakpoints possible, but the EPIC debugger should keep on running).