| 127 | } |
| 128 | |
| 129 | static Execution::ResolvedFrame toResolvedFrame(const backward::ResolvedTrace &resolvedTrace, void *addr) |
| 130 | { |
| 131 | Execution::ResolvedFrame frame; |
| 132 | // there's also resolvedTrace.location.name, but that doesn't give us fully qualified C++ names |
| 133 | if (!resolvedTrace.object_function.empty()) |
| 134 | frame.name = QString::fromStdString(resolvedTrace.object_function); |
| 135 | else if (!resolvedTrace.object_filename.empty()) |
| 136 | frame.name = QString::fromStdString(resolvedTrace.object_filename); |
| 137 | else |
| 138 | frame.name = QString::number(reinterpret_cast<quintptr>(addr), 16); |
| 139 | frame.location.setUrl(QUrl::fromLocalFile(QString::fromStdString(resolvedTrace.source.filename))); |
| 140 | frame.location.setOneBasedLine(resolvedTrace.source.line); |
| 141 | frame.location.setOneBasedColumn(resolvedTrace.source.col); |
| 142 | return frame; |
| 143 | } |
| 144 | #endif |
| 145 | |
| 146 | #if !defined(USE_BACKWARD_CPP) && defined(HAVE_BACKTRACE) |
no test coverage detected