raix / vscode-perl-debug

LOOKING FOR MAINTAINERS. Perl debugger extension for visual studio code
MIT License
63 stars 35 forks source link

PadWalker: Not installed #97

Closed ComputerFields closed 5 years ago

ComputerFields commented 5 years ago

Hello,

Sorry for the cry for help, but I've spent an hour trying to figure out what the problem is an haven't gotten anywhere.

I've installed Strawberry Perl v5.28.1.1-64bit and PadWalker v2.3 (via the Strawberry Perl CPAN client) and have restarted VSCode, but when I start a debug session I'm still getting "PadWalker: Not installed" in the Variables pane.

Is this a search path issue? Suggestions?

Thanks.

hoehrmann commented 5 years ago

Which version of the extension are you using?

Could you enable the launch.json option debugRaw and look at / send in the output?

ComputerFields commented 5 years ago

Perl Debug v0.6.0 (just installed it today).

debugRaw output is below. I'm not sure what "look at /" means.

["2019-04-23T23:30:05.067Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","\nLoading DB routines from perl5db.pl version 1.49\n"] ["2019-04-23T23:30:05.067Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","Editor support available.\n"] ["2019-04-23T23:30:05.071Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","\nEnter h or 'h h' for help, or 'man perldebug' for more help.\n\n"] ["2019-04-23T23:30:05.089Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","main::(C:\Users\bfields\AppData\Local\Temp\orbdb-test\opt\BKECF\test\web\local/orbCSOTracker.pl:83):\n83:\tmy $rc\t\t\t= tty;\n"] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671"," DB<1> "] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671","o warnLevel=0\n"] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671"," warnLevel = '0'\n"] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671"," DB<2> "] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671","$DB::single = 1;\n"] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","\n"] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671"," DB<3> "] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671","p $$\n"] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","8208"] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","\n"] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671"," DB<4> "] ["2019-04-23T23:30:10.357Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671","p $0\n"] ["2019-04-23T23:30:10.359Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","C:\Users\bfields\AppData\Local\Temp\orbdb-test\opt\BKECF\test\web\local/orbCSOTracker.pl"] ["2019-04-23T23:30:10.359Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","\n"] ["2019-04-23T23:30:10.359Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671"," DB<5> "] ["2019-04-23T23:30:10.359Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671","p sub { local $@; eval \"require Sys::Hostname; Sys::Hostname::hostname()\" }->()\n"] ["2019-04-23T23:30:10.388Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","BFIELDS-Win10"] ["2019-04-23T23:30:10.388Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","\n DB<6> "] ["2019-04-23T23:30:10.388Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671","p $]\n"] ["2019-04-23T23:30:10.390Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","5.022000"] ["2019-04-23T23:30:10.390Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","\n"] ["2019-04-23T23:30:10.390Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671"," DB<7> "] ["2019-04-23T23:30:10.390Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671","p sub { local $@; eval \"require PadWalker; PadWalker->VERSION()\" }->()\n"] ["2019-04-23T23:30:10.406Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","\n DB<8> "] ["2019-04-23T23:30:10.406Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671"," \t\t\tsub Devel::vscode::_unreportedSources { \t\t\t\treturn join \"\t\", grep { \t\t\t\t\tmy $old = $Devel::vscode::reportedSources{$}; \t\t\t\t\t$Devel::vscode::reportedSources{$} = $$; \t\t\t\t\tnot defined $old or $old ne $$ \t\t\t\t} grep { /^_<[^(]/ } keys %main:: \t\t\t} \t\t\n"] ["2019-04-23T23:30:10.406Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","\n"] ["2019-04-23T23:30:10.406Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671"," DB<9> "] ["2019-04-23T23:30:10.406Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671"," \t\t\tsub Devel::vscode::getSourceCode { \t\t\t\tlocal $ = join(\"\", @{\"main::<@\"}); \t\t\t\ts/([^a-zA-Z0-9\x{80}-\x{10FFFF}])/ \t\t\t\t\tsprintf '%%%02x', ord \"$1\"/ge; \t\t\t\treturn $_ \t\t\t} \t\t\n"] ["2019-04-23T23:30:10.406Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","\n"] ["2019-04-23T23:30:10.406Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671"," DB<10> "] ["2019-04-23T23:30:10.406Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671"," \t\t\tpackage DB; \t\t\tDB::postponed = sub { \t\t\t\tmy ($oldpostponed) = @; \t\t\t\t$Devel::vscode::overrodePostponed = 1; \t\t\t\treturn sub { \t\t\t\t\tif ('GLOB' eq ref(\$[0]) and $_[0] =~ /<(.)s*$/s) { \t\t\t\t\t\tprint { $DB::OUT } \"vscode: new loaded source $1\n\"; \t\t\t\t\t} else { \t\t\t\t\t\tprint { $DB::OUT } \"vscode: new subroutine $_[0]\n\"; \t\t\t\t\t} \t\t\t\t\t&{$old_postponed}; \t\t\t\t}; \t\t\t}->(\&DB::postponed) unless $Devel::vscode::_overrodePostponed; \t\t\n"] ["2019-04-23T23:30:10.406Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","\n"] ["2019-04-23T23:30:10.406Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671"," DB<11> "] ["2019-04-23T23:30:10.580Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671","p Devel::vscode::_unreportedSources() if defined &Devel::vscode::unreportedSources\n"] ["2019-04-23T23:30:10.580Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","</usr/lib/perl5/coreperl/Errno.pm\t</usr/share/perl5/coreperl/feature.pm\t</usr/lib/perl5/coreperl/IO/Socket.pm\t</usr/lib/perl5/coreperl/IO/Socket/UNIX.pm\t<perlio.c\t_</usr/lib/perl5/coreperl/auto/Sys/Hostname/Hostname.dll\t</usr/lib/perl5/coreperl/Config.pm\t</usr/share/perl5/coreperl/SelectSaver.pm\t</usr/lib/perl5/coreperl/Sys/Hostname.pm\t</usr/share/perl5/coreperl/warnings.pm\t</usr/share/perl5/coreperl/Exporter/Heavy.pm\t<cygwin.c\t_</usr/share/perl5/coreperl/Carp.pm\t<C:\Users\bfields\AppData\Local\Temp\orbdb-test\opt\BKECF\test\web\local/orbCSOTracker.pl\t<Socket.c\t</usr/share/perl5/coreperl/XSLoader.pm\t</usr/lib/perl5/coreperl/Cwd.pm\t</usr/lib/perl5/core_perl/Configgit.pl\t</usr/share/perl5/coreperl/vars.pm\t</usr/lib/perl5/coreperl/auto/IO/IO.dll\t</usr/share/perl5/coreperl/Term/Cap.pm\t</usr/lib/perl5/coreperl/IO/Handle.pm\t<Win32CORE.c\t_</usr/share/perl5/coreperl/strict.pm\t</usr/lib/perl5/coreperl/IO/Socket/INET.pm\t</usr/share/perl5/coreperl/perl5db.pl\t</usr/share/perl5/coreperl/Term/ReadLine.pm\t</usr/share/perl5/coreperl/warnings/register.pm\t<Hostname.c\t_</usr/lib/perl5/coreperl/lib.pm\t<perl.c\t<Socket.xs\t</usr/lib/perl5/coreperl/auto/Socket/Socket.dll\t<perlmain.c\t_</usr/lib/perl5/coreperl/IO.pm\t<mrocore.c\t</usr/lib/perl5/coreperl/Socket.pm\t<DynaLoader.c\t_</usr/share/perl5/coreperl/Exporter.pm\t<universal.c\t_</usr/lib/perl5/core_perl/Configheavy.pl\t</usr/lib/perl5/coreperl/IO/Select.pm\t<IO.c\t_</usr/lib/perl5/coreperl/auto/Cwd/Cwd.dll\t<Cwd.c\t_</usr/share/perl5/core_perl/Symbol.pm\n DB<12> "] ["2019-04-23T23:30:10.689Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671","T\n"] ["2019-04-23T23:30:10.689Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","@ = DB::DB called from file 'C:\Users\bfields\AppData\Local\Temp\orbdb-test\opt\BKECF\test\web\local/orbCSOTracker.pl' line 83\n DB<12> "] ["2019-04-23T23:30:31.130Z","perl-debug.streamcatcher.write","127.0.0.1:63670 serving 127.0.0.1:63671","/\n"] ["2019-04-23T23:30:31.131Z","perl-debug.streamcatcher.data","127.0.0.1:63670 serving 127.0.0.1:63671","//: not found\n DB<12> "]

hoehrmann commented 5 years ago

Do you have multiple Perl installations on your system? For instance, do you have cygwin installed, and could it be that the extension ends up using the cygwin Perl? (During a debug session, the windows task manager might give a clue, there should be a Perl process running and you could check its path). Could you try setting the exec option in launch.json to the full path of the Strawberry Perl perl.exe?

ComputerFields commented 5 years ago

That was it.

I'm not sure how it got there, but I have a perl.exe under "C:\Program Files (x86)\Git\usr\bin\perl.exe" which is a subfolder under my Git for Windows install folder.

Thank you!

hoehrmann commented 5 years ago

@ComputerFields: That is good feedback :) We will try to make it easier to make problem such as this easier to figure out in a future version of the extension!