Subject: | die messages not visible in pp generated binaries |
I'm seeing some strange behavior with one specific app packaged by pp in
windows. My current environment is:
os: win xp sp3
perl: v5.10.1 (strawberry)
PAR::Packer: 1.004
PAR: 1.002
When this app dies, I don't see any message on the console, it just
ends. Unfortunately I can't post the contents of the app, but its a
straightforward app that uses WWW::Mechanize,
Spreadsheet::ParseExcel::Simple and a private module.
Its a bit hard for me to debug this, since its not happening if I run
the app normally with perl. I've added the following __DIE__ handler to
try to understand what's happening, but it was not very helpful:
$SIG{__DIE__} = sub {
my $err = shift;
print "from handler: $err";
print STDERR "from handler (stderr): $err";
};
The output I see is similar to this:
C:\>foo.exe <some arguments>
<some regular app output>
from handler: die test at script/foo.pl line 104.
from handler (stderr): die test at script/foo.pl line 104.
C:\>perl foo.pl <some arguments>
<some regular app output>
from handler: die test at foo.pl line 104.
from handler (stderr): die test at foo.pl line 104.
die test at foo.pl line 104.
(Note that the last line differs to the pp packed binary)
I have also tried to enable debugging by commenting out the unset line
for PERL5OPT on pp, but that wasn't that helpful either, I can't get the
debugger shell working, and modules like Devel::Trace don't show
complete output.
Any pointers on where to start looking for things that might be
affecting die are greatly appreciated.
Thanks in advance,
javs.