X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=trace_loader.cpp;h=254d2cb0af61fdfe1b68692fb99e54fcdd50741b;hb=e0df952b67f3ae38aeb0fd7e32942f8fa53ac49f;hp=f2e6c6e58d18b5b3df221c9f1cc4677288634090;hpb=8216d8efc428dd336957433d743af5c4ac2d0d05;p=apitrace diff --git a/trace_loader.cpp b/trace_loader.cpp index f2e6c6e..254d2cb 100644 --- a/trace_loader.cpp +++ b/trace_loader.cpp @@ -45,6 +45,11 @@ bool Loader::open(const char *filename) std::cerr << "error: failed to open " << filename << "\n"; return false; } + if (!m_parser.supportsOffsets()) { + std::cerr << "error: " < Trace::Loader::frame(int idx) +std::vector Loader::frame(int idx) { int numOfCalls = numberOfCallsInFrame(idx); if (numOfCalls) { @@ -113,13 +118,15 @@ std::vector Trace::Loader::frame(int idx) int parsedCalls = 0; while ((call = m_parser.parse_call())) { + calls[parsedCalls] = call; + ++parsedCalls; + if (isCallAFrameMarker(call)) { break; } - calls[parsedCalls] = call; - ++parsedCalls; } + assert(parsedCalls == numOfCalls); return calls; } return std::vector();