Perl debug binary for Windows?

Perl debug binary for Windows?

am 08.10.2008 02:11:42 von Michael Putch

I have notice that the Linux distribution of Activeperl contains both
the "regular" build of Perl and debug build (i.e. build with -DDEBUGGING
in order to
support the -D family of debugging options), but the Windows
distribution doesn't. I know I could just build it from source, but
this disparity strikes me as puzzling. Traditionally it has been
somewhat easier to build Perl under Linux et all than under Windows, so
if anything I would have expected it to be the other way around.
Thanks in advance!

MJP
_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

RE: Perl debug binary for Windows?

am 08.10.2008 02:29:02 von Jan Dubois

On Tue, 07 Oct 2008, Michael Putch wrote:
> I have notice that the Linux distribution of Activeperl contains
> both the "regular" build of Perl and debug build (i.e. build with
> -DDEBUGGING in order to support the -D family of debugging options),
> but the Windows distribution doesn't. I know I could just build it
> from source, but this disparity strikes me as puzzling.
> Traditionally it has been somewhat easier to build Perl under Linux
> et all than under Windows, so if anything I would have expected it
> to be the other way around. Thanks in advance!

It is actually easier to combine a debugging and non-debugging build on
Unix than on Windows: On Unix perl-debugging is statically linked with
libperl.so and can therefore live in the same tree as the non- debugging
perl-static and perl-dynamic versions.

On Windows Perl is always dynamically linking against perl58.dll or
perl510.dll. So to create a debugging perl-debugging.exe we would also
have to create a perl510-debugging.dll to link against. And then we may
even have to have to separately compile all extension modules too,
because they want to resolve their symbols against perl510.dll and not
perl510-debugging.dll. But those extensions would then have to live in a
separate directory tree because they would have all the same names as
the non-debugging modules.

It may be possible to play some tricks, like having a
perl510-debugging.dll which internally claims to be perl510.dll. Then
maybe the Windows loader would resolve additional symbols against this
library instead. But this will require additional development effort to
figure out if it is feasible, and then update the automated ActivePerl
build processes to build this non-standard configuration and merge it
into the normal ActivePerl release.

That's really the only reason why there isn't a perl-debugging in the
Windows distribution. It is on our "wish-list", but it has a relatively
low priority.

Cheers,
-Jan


_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs