Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the call stack for the current thread.
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition stack_frame.hpp:47
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:42
#define core_export_
Define shared library export.
Definition core_export.hpp:13
- Inheritance
- xtd::object → xtd::diagnostics::stack_frame
- Header
#include <xtd/diagnostics/stack_frame>
- Namespace
- xtd::diagnostics
- Library
- xtd.core
- Examples
- The following example demonstrates the use of the xtd::diagnostics::stack_frame class to provide the stack frame information for a stack trace.
#include <xtd/diagnostics/stack_frame>
#include <xtd/diagnostics/stack_trace>
#include <xtd/console>
void method2(int count) {
try {
if (count < 5)
throw;
}
}
void method1() {
try {
method2(4);
throw;
}
}
auto main() -> int {
try {
method1();
}
}
The exception that is thrown when one of the arguments provided to a method is not valid.
Definition argument_exception.hpp:24
static console_key_info read_key()
Obtains the next character or function key pressed by the user. The pressed key is displayed in the c...
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
Represents a stack trace, which is an ordered collection of one or more stack frames.
Definition stack_trace.hpp:40
The exception that is thrown when a method call is invalid for the object's current state.
Definition system_exception.hpp:18
The xtd::diagnostics namespace provides classes that allow you to interact with system processes,...
Definition assert_dialog_result.hpp:10
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10
- Examples
- line_info.cpp, math_assert.cpp, math_assume.cpp, math_valid.cpp, stack_frame.cpp, and user_defined_exception.cpp.
|
| stack_frame () |
| Initializes a new instance of the xtd::diagnostics::stack_frame class.
|
|
| stack_frame (xtd::size skip_frame) |
| Initializes a new instance of the xtd::diagnostics::stack_frame class that corresponds to a frame above the current stack frame.
|
|
| stack_frame (bool need_file_info) |
| Initializes a new instance of the xtd::diagnostics::stack_frame class, optionally capturing source information.
|
|
| stack_frame (xtd::size skip_frame, bool need_file_info) |
| Initializes a new instance of the xtd::diagnostics::stack_frame class that corresponds to a frame above the current stack frame, optionally capturing source information.
|
|
| stack_frame (const xtd::string &file_name, xtd::size line_number) |
| Initializes a new instance of the xtd::diagnostics::stack_frame class that contains only the given file name, and line number.
|
|
| stack_frame (const xtd::string &file_name, xtd::size line_number, const xtd::string &method_name) |
| Initializes a new instance of the xtd::diagnostics::stack_frame class that contains only the given file name, line number, and method name.
|
|
| stack_frame (const xtd::string &file_name, xtd::size line_number, const xtd::string &method_name, xtd::size column_number) |
| Initializes a new instance of the xtd::diagnostics::stack_frame class that contains only the given file name, line number, and column number.
|
|
| stack_frame (const xtd::string &file_name, xtd::size line_number, xtd::size column_number) |
| Initializes a new instance of the xtd::diagnostics::stack_frame class that contains only the given file name, line number, and column number.
|
|
| stack_frame (const xtd::string &file_name, xtd::size line_number, const xtd::string &method_name, xtd::size column_number, xtd::size offset) |
| Initializes a new instance of the xtd::diagnostics::stack_frame class that contains only the given file name, line number, method name, column number, and offset.
|
|
| stack_frame (const xtd::source_location &source_location) |
| Initializes a new instance of the xtd::diagnostics::stack_frame class that contains only the given source location.
|
|
| stack_frame (const xtd::source_location &source_location, xtd::size offset) |
| Initializes a new instance of the xtd::diagnostics::stack_frame class that contains only the given given source location, and offset.
|
|
| stack_frame (xtd::null_ptr frame) |
| Initializes a new empty instance of the xtd::diagnostics::stack_frame.
|
|
|
bool | equals (const stack_frame &sf) const noexcept override |
| Indicates whether the current xtd::diagnostic::stack_frame is equal to another xtd::diagnostic::stack_frame.
|
|
virtual xtd::size | get_file_column_number () const noexcept |
| Gets the column number in the file that contains the code that is executing. This information is typically extracted from the debugging symbols for the executable.
|
|
virtual xtd::size | get_file_line_number () const noexcept |
| Gets the line number in the file that contains the code that is executing. This information is typically extracted from the debugging symbols for the executable.
|
|
virtual const xtd::string & | get_file_name () const noexcept |
| Gets the file name that contains the code that is executing. This information is typically extracted from the debugging symbols for the executable.
|
|
virtual const xtd::string & | get_method () const noexcept |
| Gets the method in which the frame is executing.
|
|
virtual xtd::size | get_native_offset () const noexcept |
| Gets the offset from the start of the native code for the method that is being executed.
|
|
virtual xtd::size | get_offset () const noexcept |
| Gets the offset from the start of the code for the method that is being executed.
|
|
xtd::string | to_string () const noexcept override |
| Builds a readable representation of the stack trace.
|
|
virtual bool | equals (const object &obj) const noexcept |
| Determines whether the specified object is equal to the current object.
|
|
template<typename object_a_t , typename object_b_t > |
static bool | equals (const object_a_t &object_a, const object_b_t &object_b) noexcept |
| Determines whether the specified object instances are considered equal.
|
|
|
| object ()=default |
| Create a new instance of the ultimate base class object.
|
|
virtual size_t | get_hash_code () const noexcept |
| Serves as a hash function for a particular type.
|
|
virtual type_object | get_type () const noexcept |
| Gets the type of the current instance.
|
|
template<typename object_t > |
xtd::uptr< object_t > | memberwise_clone () const |
| Creates a shallow copy of the current object.
|
|
virtual bool | equals (const stack_frame &) const noexcept=0 |
| Indicates whether the current object is equal to another object of the same type.
|
|
template<typename object_a_t , typename object_b_t > |
static bool | equals (const object_a_t &object_a, const object_b_t &object_b) noexcept |
| Determines whether the specified object instances are considered equal.
|
|
template<typename object_a_t , typename object_b_t > |
static bool | reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept |
| Determines whether the specified object instances are the same instance.
|
|