PStack  2.0
Stack trace printer for MSVC and GCC binaries
symbol_view.hpp
Go to the documentation of this file.
1 // ===-- include/psystem/symbol_view.hpp ------------------ -*- C++ -*- --=== //
2 // Copyright (c) 2015 Matt Bisson. All rights reserved.
3 
18 #pragma once
19 #ifndef PSYSTEM_SYMBOL_VIEW_HPP
20 #define PSYSTEM_SYMBOL_VIEW_HPP
21 
22 #include "psystem_ns.hpp"
23 
24 namespace psystem {
25 
26 class image_symbol_iterator;
27 
41 {
45 public:
58  explicit symbol_view(
59  psystem::address_t const symbol_start,
60  char const *string_start,
61  psystem::address_t const module_base) noexcept;
62 
66 public:
72 
79  image_symbol_iterator end() const;
80 
84 public:
87 
94  char const *m_string_start;
95 
101 };
102 
103 } // namespace psystem
104 
105 #endif // PSYSTEM_SYMBOL_VIEW_HPP
psystem::address_t m_module_base
Offset from which all function / symbol addresses will be located.
Definition: symbol_view.hpp:100
psystem::address_t m_symbol_start
The address that points to the beginning of the symbol table.
Definition: symbol_view.hpp:86
char const * m_string_start
The address that points to the beginning of the string table.
Definition: symbol_view.hpp:94
#define noexcept
Replace keyword with something useful.
Definition: platform.hpp:71
std::uintptr_t address_t
Container type for a memory address.
Definition: platform.hpp:221
image_symbol_iterator begin() const
Acquire an iterator to the first debugging symbol in the view.
Definition: symbol_view.cpp:45
symbol_view(psystem::address_t const symbol_start, char const *string_start, psystem::address_t const module_base) noexcept
Construct the view into the debug symbol table.
Definition: symbol_view.cpp:28
Iterator type for COFF-format debugging symbols.
Definition: image_symbol_iterator.hpp:47
The basic header file for the PSystem namespce.
Exposes an executable image's debugging symbol data.
Definition: symbol_view.hpp:40
Contains the process examination "system" and basic frameworks.
Definition: pstack_event_handler.hpp:28
image_symbol_iterator end() const
Acquire an iterator just past the final debugging symbol in the view.
Definition: symbol_view.cpp:51