Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation about debugger should be clearer #16202

Open
p5pRT opened this issue Oct 20, 2017 · 3 comments
Open

Documentation about debugger should be clearer #16202

p5pRT opened this issue Oct 20, 2017 · 3 comments

Comments

@p5pRT
Copy link

@p5pRT p5pRT commented Oct 20, 2017

Migrated from rt.perl.org#132324 (status was 'open')

Searchable as RT132324$

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Oct 20, 2017

From @KES777

Created by @KES777

I have subroutine​:

  614​: sub create_constraint
  x615​: {
  x616​: my ($c, $options) = @​_;
  617​:
  x618​: my $generator = _generator($options);
  x619​: my $table_name = $c->table->qualified_name;
  .....
  677​: }
  678​:
  x679​: return \@​constraint_defs, \@​fks;
  680​: }

But for this sub in %DB​::sub I have next entry​:

  lib/SQL/Translator/Producer/PostgreSQL.pm​:615-680

The subroutine consist of declaration and definition.
https://perldoc.perl.org/perlsub.html#SYNOPSIS

But [documentation](https://perldoc.perl.org/perldebguts.html#Debugger-Internals) did not say what hash entry consist of​:
the only declaration or definition too.

Please fix debugger internals or documentation.

Perl Info

Flags:
    category=core
    severity=low

Site configuration information for perl 5.24.0:

Configured by kes at Wed Oct 19 14:07:47 EEST 2016.

Summary of my perl5 (revision 5 version 24 subversion 0) configuration:
   
  Platform:
    osname=linux, osvers=4.4.0-43-generic, archname=x86_64-linux
    uname='linux work 4.4.0-43-generic #63-ubuntu smp wed oct 12 13:48:03 utc 2016 x86_64 x86_64 x86_64 gnulinux '
    config_args='-de -Dprefix=/home/kes/perl5/perlbrew/perls/perl-5.24.0 -Aeval:scriptdir=/home/kes/perl5/perlbrew/perls/perl-5.24.0/bin'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion='', gccversion='5.4.0 20160609', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64
    libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.23.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.23'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'

Locally applied patches:
    Devel::PatchPerl 1.38


@INC for perl 5.24.0:
    /home/kes/perl5/perlbrew/perls/perl-5.24.0/lib/site_perl/5.24.0/x86_64-linux
    /home/kes/perl5/perlbrew/perls/perl-5.24.0/lib/site_perl/5.24.0
    /home/kes/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-linux
    /home/kes/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0
    .


Environment for perl 5.24.0:
    HOME=/home/kes
    LANG=en_US.UTF-8
    LANGUAGE=en
    LC_ADDRESS=uk_UA.UTF-8
    LC_IDENTIFICATION=uk_UA.UTF-8
    LC_MEASUREMENT=uk_UA.UTF-8
    LC_MESSAGES=en_US.UTF-8
    LC_MONETARY=uk_UA.UTF-8
    LC_NAME=uk_UA.UTF-8
    LC_NUMERIC=uk_UA.UTF-8
    LC_PAPER=uk_UA.UTF-8
    LC_TELEPHONE=uk_UA.UTF-8
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/kes/perl5/perlbrew/bin:/home/kes/perl5/perlbrew/perls/perl-5.24.0/bin:/home/kes/bin:/home/kes/bin:/home/kes/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
    PERLBREW=command perlbrew
    PERLBREW_BASHRC_VERSION=0.78
    PERLBREW_HOME=/home/kes/.perlbrew
    PERLBREW_MANPATH=/home/kes/perl5/perlbrew/perls/perl-5.24.0/man
    PERLBREW_PATH=/home/kes/perl5/perlbrew/bin:/home/kes/perl5/perlbrew/perls/perl-5.24.0/bin
    PERLBREW_PERL=perl-5.24.0
    PERLBREW_ROOT=/home/kes/perl5/perlbrew
    PERLBREW_VERSION=0.78
    PERL_BADLANG (unset)
    SHELL=/bin/bash

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Oct 20, 2017

From @jkeenan

On Fri, 20 Oct 2017 11​:15​:24 GMT, kes-kes@​yandex.ru wrote​:

Cc​: kes-kes@​yandex.ru
To​: perlbug@​perl.org
Message-Id​: <5.24.0_8893_1508497451@​work>
From​: kes-kes@​yandex.ru
Reply-To​: kes-kes@​yandex.ru
Subject​: Documentation about debugger should be cleared

This is a bug report for perl from kes-kes@​yandex.ru,
generated with the help of perlbug 1.40 running under perl 5.24.0.

-----------------------------------------------------------------
[Please describe your issue here]

I have subroutine​:

614​: sub create_constraint
x615​: {
x616​: my ($c, $options) = @​_;
617​:
x618​: my $generator = _generator($options);
x619​: my $table_name = $c->table->qualified_name;
.....
677​: }
678​:
x679​: return \@​constraint_defs, \@​fks;
680​: }

But for this sub in %DB​::sub I have next entry​:

lib/SQL/Translator/Producer/PostgreSQL.pm​:615-680

The subroutine consist of declaration and definition.
https://perldoc.perl.org/perlsub.html#SYNOPSIS

But
[documentation](https://perldoc.perl.org/perldebguts.html#Debugger-
Internals) did not say what hash entry consist of​:
the only declaration or definition too.

Please fix debugger internals or documentation.

I don't think there's anything that needs to be fixed.

In pod/perldebguts.pod, under the "Debugger Internals" section you mentioned, we have this paragraph​:

#####
A hash C<%DB​::sub> is maintained, whose keys are subroutine names and whose values have the form C<filename​:startline-endline>. C<filename> has the form C<(eval 34)> for subroutines defined inside C<eval>s.
#####

The output you cite conforms to the 'filename​:startline-endline' format described in that paragraph. The documentation makes no claim to providing the subroutine definition. Doing so would probably entail a complete overhaul of the debugger -- and my hunch is that there is no one who wants to take on that task at this time.

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

@p5pRT p5pRT commented Oct 20, 2017

The RT System itself - Status changed from 'new' to 'open'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant