Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

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.