powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отследить выполняемые действия в Perl-коде
2 сообщений из 2, страница 1 из 1
Отследить выполняемые действия в Perl-коде
    #39204237
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, нет ли для Perl таких отладочных инструментов?
Есть веб-сайт на Perl, есть такая cgi-страница:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#!/usr/bin/perl

use strict;
use warnings;

use lib '.';
use bmhead;

use BM::Module;
use BM::WWW::Operator::Service::ChangePassword;

{ # MAIN
    BM::WWW::Operator::Service::ChangePassword->handler();

    exit( 0);
}



Используемый модуль выглядит так (фрагмент):
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
package BM::WWW::Operator::Service::ChangePassword;

use strict;
use warnings;

use Crypt::GeneratePassword qw( chars);

use cfg;

use Logging;
use ActionLog;
use Navigator;

use BM::Exception qw( :try);
use BM::Exceptions;

use BM::Module;

use BM::CGI;
use BM::HTML::Template;
use BM::DBI;
use BM::Messages;
use BM::Error qw(Error);
use BM::GetForm;

use BM::Storable;
use Operator::Auth;

use BL::Service;
use BL::Service::Factory;

use constant MESSAGES    => "$cfg::dir_msg_operators/change_ser.msg";
use constant SG_MESSAGES => "$cfg::dir_msg_common/sg_errors.msg";
use constant TMPL        => "$cfg::dir_tmpl_operators/service/change_password.html";

use constant PARAM_0  => ...
use constant PARAM_1 => ...

our %info = ();

...

sub action {
    my( $auth, $insert) = @_;

    my $dbh = $auth->dbh();

    $dbh->begin_work();

    $insert->{service}->passwd($insert->{new_password});
    $insert->{service}->update();

    if( my $alog = new ActionLog( dbh => $dbh, auth => $auth)) {
        $alog->log(
                   service          => $insert->{service},
                   old_value        => $insert->{old_clnt_passwd},
                   new_value        => $insert->{new_password},
                   staff_comment    => "Operator edit service password: $insert->{description}",
                   action           => 'service_change_password'
                  );
    }

    $dbh->commit();

    print $auth->cgi()->redirect( "../deal_service?service_id=" . $insert->{service_id} . "&session_id=" . $auth->session_id());

    1;
}

...



Ну и далее начинаются такие взаимозависимости, что их уже отследить нереально.
Данный код по идее вносит изменения в БД, обновляя информацию в трех таблицах.
Но видимо он делает что-то еще, что я пока не нашел.
Подскажите, как можно включить подробное протоколирование всего, что происходит в Perl?
Точкой входа на каждой странице является модуль bmhead.pm, который сейчас практически пустой (в нем задается пара констант).
Можно ли с ним что-то сделать, чтобы например получить последовательность выполнения методов классов?

________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Отследить выполняемые действия в Perl-коде
    #39204477
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отследить выполняемые действия в Perl-коде
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]