The following screenshots shows the Repository Analyzer in use. When you start the
analyzer it automatically scans the system for all active (loaded
by some process) Persistore™ repositories, these then
appear in the tree view on the left and may be loaded or unloaded for you to examine
them. Each image was taken from a session runnining on 64-bit Windows Server 2003 Enterprise as the addresses
(in yellow) clearly reveal.
Use familar File Explorer metaphors to navigate the directory tree, open and close
directories, right-click for context sensitive options.
Edit shared variables in real time, enabling instantaneous changes to variables
that are in use by your applications; this is particularly suited to "on the fly"
adjustments to process/application configuration information, you can adjust these
variables with ease and avoid any need to "bounce" vital applications, processes
or services. Persistore includes Visual Studio debugger extensions in the form of
visualizers that let you dump Area, SharedArea, Shared<T>, SharedString and
SharedStream data using the same DumpView interface used within the Analyzer.
The analyzer enables you to load both persistent and volatile repositories, these
are clearly represented by specific icons in the left hand tree view. If any process
on the same machine loads a repository it immediately appears in the analyzer tree
view; simply click on its node to automatically load it into the analyzer process.
Once a repository has been loaded you may freely navigate the directory hierarchy
to browse the contents. Directory and Class nodes are clearly shown with their own
specific icon, making it easy to understand the structure of data in the repository.
Right-clicking on any tree or list view node will allow you to see the properties
of the selected item, perform operations upon it
All of the familar drag/drop and copy/cut/paste operations are supported, enabling
you to copy directory trees, objects and shared data and variables with ease. The
analyzer enforces object versioning and class rules so that you cannot accidentally
copy an object to some other directory unless it has the same class and version.
Similarly, you may rename, delete and create new folders and shared variables and
you can also edit shared variables. This latter feature means you can store configuration
variables in a repository and then modfy these in real-time using the analyzer,
any application that uses these variables will simply see their value change. It
is thus very simple to adjust counters, thresholds, on/off swithes etc and control
your application's (or website's) runtime behavior without having to write special
code, event handlers or configuration tools, this is especially useful for Windows
Services.
The Repository Analyzer is an essential component that makes it much easier to test
and debug your code, it will even let you create a hex-dump of any selected item
or even multiple items at once; just select "Dump" in the context menu and the analyzer
will open as many tabs as are needed to show the individual memory dumps of each
selected item.
The dump window lets you track the address at which the mouse is currently pointing
and it does this whether you point at the HEX or ASCII part of the data. It even has an animate mode to show memory updating in real-time,
a feature you may not need very often but is invaluable for those subtle bugs, where
you just need to see what's going on!
Written entirely in C# using Persistore™ the analyzer runs on both 32-bit and 64-bit
Windows Operating Systems.