PStack  2.0
Stack trace printer for MSVC and GCC binaries
stack_frame.hpp
Go to the documentation of this file.
1 // ===-- include/psystem/stack_frame.hpp ------------------ -*- C++ -*- --=== //
2 // Copyright (c) 2014 Matt Bisson. All rights reserved.
3 
18 #pragma once
19 #ifndef PSYSTEM_STACK_FRAME_HPP
20 #define PSYSTEM_STACK_FRAME_HPP
21 
22 #include "psystem_ns.hpp"
23 
25 
26 namespace psystem {
27 
28 class process_info;
29 class thread_info;
30 
43 {
47 public:
54  explicit stack_frame(STACKFRAME64 const& sf) noexcept;
55 
59 public:
66  address_t get_fp() const noexcept;
67 
74  address_t get_pc() const noexcept;
75 
79 private:
82 
85 };
86 
87 } // namespace psystem
88 
89 #endif // PSYSTEM_STACK_FRAME_HPP
address_t m_pc
The program counter location for the current stack frame.
Definition: stack_frame.hpp:84
#define noexcept
Replace keyword with something useful.
Definition: platform.hpp:71
Declare the wrapper for Microsoft's Debug Helper DLL.
std::uintptr_t address_t
Container type for a memory address.
Definition: platform.hpp:221
The basic header file for the PSystem namespce.
Contains the process examination "system" and basic frameworks.
Definition: pstack_event_handler.hpp:28
address_t m_fp
The program counter location for the current frame pointer.
Definition: stack_frame.hpp:81
address_t get_fp() const noexcept
Access the memory location for the current frame pointer.
Definition: stack_frame.cpp:38
Contains data about a single frame in a stack trace.
Definition: stack_frame.hpp:42
stack_frame(STACKFRAME64 const &sf) noexcept
Construct a stack_frame instance.
Definition: stack_frame.cpp:26
address_t get_pc() const noexcept
Access the program counter location for the current stack frame.
Definition: stack_frame.cpp:44