| 995 | } |
| 996 | #if DEBUG_DI |
| 997 | void print(const char* fmt, ...) const |
| 998 | { |
| 999 | qstring m; |
| 1000 | va_list va; |
| 1001 | va_start(va, fmt); |
| 1002 | m.cat_vsprnt(fmt, va); |
| 1003 | va_end(va); |
| 1004 | |
| 1005 | uint32 instCnt = 0; |
| 1006 | if (size()) { |
| 1007 | qstring path; |
| 1008 | for (auto n = begin(); n != end(); n++) { |
| 1009 | instCnt += (*n)->instCnt; |
| 1010 | if (n != begin()) |
| 1011 | path.append(", "); |
| 1012 | path.cat_sprnt("%d/%a/%c", (*n)->idx, (*n)->bgn, (*n)->getKind()); |
| 1013 | } |
| 1014 | msg("[hrt] %s %a-%a (%u insn/%d blocks): %s\n", m.c_str(), front()->bgn, exit ? exit->bgn : BADADDR, instCnt, (int)size(), path.c_str()); |
| 1015 | } else { |
| 1016 | msg("[hrt] %s None-%a empty-path\n", m.c_str(), exit ? exit->bgn : BADADDR); |
| 1017 | } |
| 1018 | } |
| 1019 | #else |
| 1020 | void print(const char* fmt, ...) const {} |
| 1021 | #endif |