PStack  2.0
Stack trace printer for MSVC and GCC binaries
shared_library.cpp File Reference

Define basic functionality for loading shared libraries on-demand. More...

Include dependency graph for shared_library.cpp:

Namespaces

 psystem
 Contains the process examination "system" and basic frameworks.
 

Functions

static void dump_version_info (VS_FIXEDFILEINFO const &ffi) noexcept
 Dumps version information for an executable to stdout. More...
 

Detailed Description

Define basic functionality for loading shared libraries on-demand.

Author
Matt Bisson
Date
19 November, 2015
Since
PSystem 2.0
Version
PSystem 2.0
Todo:
Create ImgHelp and DbgHelp subclasses for psystem::shared_library.
Todo:
Create an init_psystem function to explicitly load the libraries, and check their required versions.
Todo:
Statically declare the imagehelp and dbghelp instances so they are unloaded regardless of whether they are loaded.
Todo:
Do we MutEx around load and unload to protect clearing out of m_functions?
Todo:
Do we load DLLs lazily instead of explicitly? This would require checking the shared_handle every time a function is called. Similarly, do we load functions lazily? Do determine laziness via preproc flag or something?

Function Documentation

static void dump_version_info ( VS_FIXEDFILEINFO const &  ffi)
staticnoexcept

Dumps version information for an executable to stdout.

Parameters
[in]ffiThe structure containing version information to be displayed.