I suggest that you don't rely on any hardcoded "use lib", relative or absolute, at all. Instead add the include paths to "Perl Include Path" in project's properties (which will cause those paths to be passed to perl through the -I option on the command line).
The mess with missed breakpoints is caused by Eclipse and Perl runtime referring to the same files using subtly different paths, despite great attempts at normalization (computing an absolute path). In effect either the breakpoint is not set at all because the event of loading the module is not detected or the breakpoint is set, but when it's hit is is ignored because reported and expected file path doesn't match.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thank you for your suggestion,
It's impossible/very hard for me to do that, there is too much path to add in different project and everyone will have to do this, so this solution is not applicable for me :(
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Perhaps you can get some clues if you select Window > Preferences > Perl EPIC > Enable debugger console (experimental) and then watch the communication between Eclipse frontend and perl -d during a debug session (by clicking on the respective in the Debug view, which will then display exchanged commands and responses in Console). You could try experimenting with different forms of path (slashes/backslashes, with/without the dot prefix, case-sensitive/insensitive) or you could try converting the relative path to absolute programatically within the "use lib" statement.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
first, thank for helping me.
my issue is simple, it's seem that the debugger don't see break point in other module if I use relative path.
Exemple :
use lib "C:/USERS/nikhen1/workspace/Test/testNik"; #will see the break point in perl file (work)
use lib "./testNik"; #will run correctly, but breakpoint don't work
use lib "C:/USERS/NIKHEN1/WORKSPACE/TEST/TESTNIK" #will run correctly, but breakpoint don't work
is there a solution for this ?
Last edit: Nik Henri 2015-01-20
I suggest that you don't rely on any hardcoded "use lib", relative or absolute, at all. Instead add the include paths to "Perl Include Path" in project's properties (which will cause those paths to be passed to perl through the -I option on the command line).
The mess with missed breakpoints is caused by Eclipse and Perl runtime referring to the same files using subtly different paths, despite great attempts at normalization (computing an absolute path). In effect either the breakpoint is not set at all because the event of loading the module is not detected or the breakpoint is set, but when it's hit is is ignored because reported and expected file path doesn't match.
Thank you for your suggestion,
It's impossible/very hard for me to do that, there is too much path to add in different project and everyone will have to do this, so this solution is not applicable for me :(
Perhaps you can get some clues if you select Window > Preferences > Perl EPIC > Enable debugger console (experimental) and then watch the communication between Eclipse frontend and perl -d during a debug session (by clicking on the respective in the Debug view, which will then display exchanged commands and responses in Console). You could try experimenting with different forms of path (slashes/backslashes, with/without the dot prefix, case-sensitive/insensitive) or you could try converting the relative path to absolute programatically within the "use lib" statement.