| 243 | } |
| 244 | |
| 245 | void FormatBackTrace(IOutputStream* out, void* const* backtrace, size_t backtraceSize) { |
| 246 | char tmpBuf[1024]; |
| 247 | |
| 248 | for (size_t i = 0; i < backtraceSize; ++i) { |
| 249 | TResolvedSymbol rs = ResolveSymbol(backtrace[i], tmpBuf, sizeof(tmpBuf)); |
| 250 | |
| 251 | *out << rs.Name << "+" << ((ptrdiff_t)backtrace[i] - (ptrdiff_t)rs.NearestSymbol) << " (" << Hex((ptrdiff_t)backtrace[i], HF_ADDX) << ')' << '\n'; |
| 252 | } |
| 253 | } |
| 254 | |
| 255 | TFormatBackTraceFn FormatBackTraceFn = FormatBackTrace; |
| 256 |