Thank you for the very useful library! Few improvements: - Better header hygiene - Isolate `windows.h` to `.cpp` whenever possible - Use `WIN32_LEAN_AND_MEAN` - Remove unused headers Tested on Windows with ``` cmake .. -DCMAKE_BUILD_TYPE=Debug -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-ftime-trace -Wall -Wextra -Wpedantic -Wno-ignored-attributes" -DCMAKE_COLOR_DIAGNOSTICS=1 -DCPPTRACE_BUILD_TESTING=1 -DCPPTRACE_BUILD_BENCHMARKING=0 ``` There's a lot more that can be improved if you are interested. --------- Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
24 lines
445 B
C++
24 lines
445 B
C++
#ifndef OBJECT_HPP
|
|
#define OBJECT_HPP
|
|
|
|
#include <vector>
|
|
#include <cstdint>
|
|
|
|
namespace cpptrace {
|
|
|
|
struct object_frame;
|
|
struct safe_object_frame;
|
|
|
|
using frame_ptr = std::uintptr_t;
|
|
|
|
namespace detail {
|
|
object_frame get_frame_object_info(frame_ptr address);
|
|
|
|
std::vector<object_frame> get_frames_object_info(const std::vector<frame_ptr>& addresses);
|
|
|
|
object_frame resolve_safe_object_frame(const safe_object_frame& frame);
|
|
}
|
|
}
|
|
|
|
#endif
|