Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I am debugging a Win32 based applivation with Windbg, but it's inconsistent becuase the debugger does not have the symbols neither Perl's or the app's.

where can I get the symbol files of Perl? I am using Strawberry Perl

when building a Win32 application, and packing it with pp how can I export its symbols for debugging?

Replies are listed 'Best First'.
Re: Perl symbols for debugging?
by Old_Gray_Bear (Bishop) on Feb 18, 2014 at 12:16 UTC
    Unless you are doing something esoteric like imbedding the Perl interpreter in a DLL, windbg will not help you.

    Perl comes with its own debugger, perl -d my_code.pl, which will give you the tools and the information you need to resolve your bugs.

    ----
    I Go Back to Sleep, Now.

    OGB

Re: Perl symbols for debugging?
by Anonymous Monk on Feb 18, 2014 at 08:31 UTC

    where can I get the symbol files of Perl? I am using Strawberry Perl

    You cannot get them, they are not provided, you have to compile your own perl a "DEBUG build"

    when building a Win32 application, and packing it with pp how can I export its symbols for debugging?

    pp is just a very small exe that calls libperl, there isn't much to debug --- so just get a debug build of perl then install pp into it, that should work

    FWIW, the debugging symbols aren't very useful -- it always comes down to "right, I don't know perl internals" :)

Re: Perl symbols for debugging?
by bulk88 (Priest) on Feb 19, 2014 at 04:05 UTC
    You can't with Strawberry Perl. GCC symbols are usually embedded in the binary ("striped" is the power word). If your binary doesn't come with them, tough luck. Visual C Perl uses pdb files, which are usually distributed in a separate archive than the binaries. Activeperl 5.16 and older use Visual C and AS has .zips with the pdb files for download. Also windbg can not read GCC symbols. Only gdb can read GCC symbols. Also gdb can not read Visual C/windbg symbols. I suggest sticking with a strictly Visual C compiled process to keep your sanity.