Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

47 lines (44 sloc) 1.376 kB
# dump-memory: Interchange low-level memory dump tool for debugging
# by Jon Jensen <jon@endpoint.com>
#
# To use:
#
# 1. Put this in interchange.cfg and restart.
#
# 2. Then go to /dump-memory with any of your catalog URLs.
#
# 3. You'll get back a very large text file with a dump of the Global::*
# and %$Vend::Cfg namespaces as they actually exist in memory, which is
# the same in many respects as the interchange.structure and
# $catalog.structure dumps, but differs in some important respects as well.
#
# 4. Do *not* leave this in place on a production server accessible to the
# general public, because you will likely be exposing confidential
# information. Run it preferably only on a development machine, firewalled
# from the outside world, or in the worst case on a production server
# temporarily under a different ActionMap name or with web server access
# control to the URL.
UserTag dump-memory Routine <<EOR
sub {
my %global;
@global{keys %Global::} = map { ${$Global::{$_}} } keys %Global::;
my %structure = (
global => \%global,
catalog => $Vend::Cfg,
);
return ::uneval(\%structure);
}
EOR
ActionMap dump-memory <<EOR
sub {
$Document->header('Content-Type: text/plain');
$Document->hot(1);
HTML(
'# '
. $Tag->time
. "\n"
. $Tag->dump_memory
);
return 0;
}
EOR
Jump to Line
Something went wrong with that request. Please try again.