72c72
< : InstTracer(p), curMsg(nullptr)
---
> : InstTracer(p), buf(nullptr), bufSize(0), curMsg(nullptr)
143a144,150
> size_t instSize = si->asBytes(buf.get(), bufSize);
> if (instSize > bufSize) {
> bufSize = instSize;
> buf.reset(new uint8_t[bufSize]);
> instSize = si->asBytes(buf.get(), bufSize);
> }
>
147c154,159
< curMsg->set_inst(static_cast<uint32_t>(bits(si->machInst, 31, 0)));
---
> if (instSize == sizeof(uint32_t)) {
> curMsg->set_inst(letoh(*reinterpret_cast<uint32_t *>(buf.get())));
> } else if (instSize) {
> curMsg->set_inst_bytes(
> std::string(reinterpret_cast<const char *>(buf.get()), bufSize));
> }