Devel-DebugHooks
view release on metacpan or search on metacpan
bin/dclient.pl view on Meta::CPAN
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sub on_dbg_session {
( $session_stream ) = @_;
$session_stream->configure(
close_on_read_eof => 0
,autoflush => 1
,on_write_eof => \&handle_write_eof
,on_write_error => \&handle_write_error
,on_closed => \&handle_closed
,on_read_eof => \&handle_read_eof
,on_read_error => \&handle_read_error
,on_read => \&handle_read
);
$loop->add( $session_stream );
$session_stream->write( "l .\n" );
warn "DBG session activated";
}
# ÐодклÑÑение по пÑоÑÐ¾ÐºÐ¾Ð»Ñ TCP к Ñ
оÑÑÑ Ð½Ð° поÑÑ
sub create_dbg_session {
my( $loop, $host, $port ) = @_;
$loop->connect(
host => $host,
service => $port,
socktype => 'stream',
on_resolve_error => sub { die "Cannot resolve - >>@_<<\n"; },
on_connect_error => sub { 0 && warn "Cannot connect\n"; },
# УÑпеÑное подклÑÑение
on_stream => \&on_dbg_session
);
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
$timer->start;
$loop->add( $timer );
$loop->run;
__END__
# Devel::Caller - like 'caller'
# PadWalker <- debug statements
# Package::Stash - shows package variables
# View op tree: B::Concise
# B::Deparse - deparse CODEREF
# $deparse = B::Deparse->new("-p", "-sC");
# print $deparse->coderef2text( \&DB::process );
# B::DeparseTree
# Devel::Size - занÑÑое пÑоÑÑÑанÑÑво под пеÑеменнÑÑ
# http://search.cpan.org/~abigail/perl-5.23.5/pod/perldebguts.pod#Using_$ENV{PERL_DEBUG_MSTATS}
# http://www.foo.be/docs/tpj/issues/vol3_2/tpj0302-0011.html
# Devel::Peek - shows info about variables as it exists at internals
# # Module::Reloader
# use Smart::Comments - clever thins at comments
# Devel::Cover - каÑеÑÑво покÑÑÑÐ¸Ñ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ ÑеÑÑами
Devel::Spy
Devel::Refactor
Devel::PL_origargv
Devel::Peek
Devel::LeakTrace
Devel::DollarAt
Devel::Cycle
Devel::CoverReport
Devel::Cover
Tie::Watch
( run in 3.322 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )