Skip to content
Snippets Groups Projects
Commit 6b7a231f authored by scott snyder's avatar scott snyder
Browse files

TrkTrack: More TrackStateOnSurface diagnostics.

Extend a bit the diagnostics we get when we try to delete a bad TSOS.
parent d7633809
No related branches found
No related tags found
2 merge requests!53460implemented mu-dependent menu of PhotonID,!47646TrkTrack: More TrackStateOnSurface diagnostics.
......@@ -8,6 +8,26 @@
#include <iostream>
#include <stdexcept>
#include <string>
#include <dlfcn.h>
namespace {
void syminfo (void* addr)
{
Dl_info info;
std::cerr << " " << addr;
if (dladdr (addr, &info) != 0) {
if (info.dli_fname) {
std::cerr << " " << info.dli_fname << " " << info.dli_fbase;
}
if (info.dli_sname) {
std::cerr << " " << info.dli_sname << " " << info.dli_saddr;
}
}
std::cerr << "\n";
}
}
namespace Trk {
TrackStateOnSurface::TrackStateOnSurface() {}
......@@ -155,7 +175,9 @@ TrackStateOnSurface::~TrackStateOnSurface()
const char* p = reinterpret_cast<const char*>(m_alignmentEffectsOnTrack.get());
if (p && reinterpret_cast<uintptr_t>(p) < 0x1000) {
std::cerr << "ERROR: ~TrackStateOnSurface bad AEOT pointer\n";
CxxUtils::safeHexdump (std::cerr, ((const char*)this)-32, sizeof(TrackStateOnSurface)+32);
CxxUtils::safeHexdump (std::cerr, ((const char*)this)-80, sizeof(TrackStateOnSurface)+80+24);
syminfo (((void**)this)[0]);
syminfo (((void**)this)[-4]);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment