Update symbols_with_libdwarf.cpp

This commit is contained in:
Infko 2024-06-05 11:37:08 +08:00 committed by GitHub
parent 689c275a02
commit 1551c45027
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -52,16 +52,17 @@ namespace libdwarf {
}
// flatten trace with inlines
std::vector<stacktrace_frame> flatten_inlines(const std::vector<frame_with_inlines>& trace) {
std::vector<stacktrace_frame> flatten_inlines(std::vector<frame_with_inlines>& trace) {
std::vector<stacktrace_frame> final_trace;
for(const auto& entry : trace) {
// most recent call first
if(!entry.inlines.empty()) {
// insert in reverse order
for(auto iter = entry.inlines.rbegin(); iter != entry.inlines.rend(); ++iter){
auto& val = *iter; //const stacktrace_frame&
final_trace.emplace_back(val);
}
final_trace.insert(
final_trace.end(),
std::make_move_iterator(entry.inlines.rbegin()),
std::make_move_iterator(entry.inlines.rend())
);
}
final_trace.push_back(std::move(entry.frame));
if(!entry.inlines.empty()) {