I am using Komodo on a Windows machine to edit and debug programs (Perl 5.8.8) on a remote Linux machine. I am doing this via an ssh tunnel (which I create with PuTTY, because I must go through a firewall). I have tunneled both ports 22 (local, for ssh) and 9000 (remote, for debugging).
I have configured my systems per instructions (http://aspn.activestate.com/ASPN/docs/Komodo/4.1/komodo-doc-debugperl.ht...).
When I run 'perl -d scriptname.pl' on the remote machine it just hangs forever. If I look at the "Debugger Listener" in Komodo I see that the "Total Connections" count is incremented each time I run 'perl -d' on the remote machine (but the other significant fields in the Listener are 0/null).
So Komodo is AWARE that a debugger connection is being made, but does nothing with it. I have no debugger tab or any other indication that a debugging session should be running.
Does anybody know what I am missing here?
Thanks!
I am having the same problem except that this is on a Windows machine and the Komodo IDE is running on the same machine as the Perl program I'm trying to debug. I'm trying to set this up for debugging a CGI script running in IIS, but the problem also occurs if I'm at a command line and type "perl -d test.pl" to try debugging a simple hello world script.
Thanks to ericp's post - http://community.activestate.com/forum-topic/local-remote-perl-debuggi#c... - I have this working.
The key is that the path in the PERL5LIB environment variable:
1) must not have any spaces (this is mentioned in the Komodo debugging docs, even though their example has spaces). So use short filenames.
2) the path separator used must be forward slashes ('/') instead of back-slashes ('\'). (Actually I suspect that you could use '\\' instead of '\', but I haven't tried it).
3) the path must not have quotes around it.
All three of these rules are violated in the Komodo help file example, so it's no wonder that people are running into problems with remote debugging.
I just tested this following the existing documentation and couldn't reproduce any problems with points 1 and 2 above (on Windows XP). You should be able to have spaces (i.e. long path names) and back-slashes in the PERL5LIB environment variable.
However, you are absolutely correct about the double-quotes. They should not be used when setting PERL5LIB with
setor in System Properties. The first example in the Debugging Perl Remotely section is right, but the second one under Configuring a Microsoft IIS Web Server is wrong (though I think the quotes are required for the SetEnv in httpd.conf for Apache). This has been fixed for the next release.I believe the PERL5DB setting in Eric's post can be ignored unless you're disabling the PDK debugger.
Thanks for checking on this - I guess I didn't really try all the items individually (just took what was given as advice for gospel). I made cumulative changes one at a time and was just real happy when it all worked. Sorry for going overboard.
As far as the PERL5DB setting, I agree that it's not required; however, it was what provided the diagnostics that gave me a clue that the PERL5LIB was not set correctly. Without the PERL5DB setting, the attempt to debug just silently failed and left whatever was being debugged stuck.
Oh, another thing that might bite people trying to set up IIS CGI debugging - IIS will not get an updated environment unless you restart the machine; restarting the IIS service is not sufficient. What a pain.
Thank you for noting that additional IIS quirk. It seems that the only way to update environment variables without rebooting is to edit the registry. Rebooting seems much simpler. I've made the change in the documentation.
I'm having the exact same issue as the original post. On the remote end, I'm running FreeBSD and have tried the with the PERL5DB and without. Like the original post, I see the connection being made, but Komodo does nothing. If I close the IDE, the remote script terminates, so I know the communication is there. I'm running Komodo 5.0 on MacOS locally. Any help would be really appreciated.
Thanks
# This solved my problem
export PERL5LIB=~/Debug/komodo-remote/:$PERL5LIB
export PERLDB_OPTS="RemotePort=localhost:9000"
export PERL5DB="BEGIN { require q($HOME/Debug/komodo-remote/perl5db.pl) }"