void ModuleLoadEventInfo::format(QTextStream &str) const { str << "name='" << name << "' file='" << file << "' " << (loaded ? "[loaded] " : "[not loaded] "); if (requireResume) str << "[requires resume] "; str.setIntegerBase(16); str << " code: 0x" << codeAddress << " data: 0x" << dataAddress; str.setIntegerBase(10); }
void QmcEventRecord::dump(QTextStream &os, int instID, uint recordID) const { os << " " << QmcSource::timeStringBrief(&my.timestamp); os << " --- event record [" << recordID << "]"; if (my.flags) { os.setIntegerBase(16); os << " flags 0x" << (uint)my.flags << " (" << pmEventFlagsStr(my.flags) << ")"; os.setIntegerBase(10); } os << " ---" << endl; if (my.flags & PM_EVENT_FLAG_MISSED) os << " ==> " << my.missed << " missed event records" << endl; for (int i = 0; i < my.parameters.size(); i++) my.parameters.at(i).dump(os, instID); }
void RunControlContext::format(QTextStream &str) const { str << " id='" << id << "' osid='" << osid << "' parentId='" << parentId <<"' "; if (flags & Container) str << "[container] "; if (flags & HasState) str << "[has state] "; if (flags & CanSuspend) str << "[can suspend] "; if (flags & CanSuspend) str << "[can terminate] "; str.setIntegerBase(16); str << " resume_flags: 0x" << resumeFlags; str.setIntegerBase(10); }
// Simple exception formatting void formatWindowsException(unsigned long code, quint64 address, unsigned long flags, quint64 info1, quint64 info2, QTextStream &str) { str.setIntegerBase(16); str << "\nException at 0x" << address << ", code: 0x" << code << ": "; switch (code) { case winExceptionCppException: str << "C++ exception"; break; case winExceptionStartupCompleteTrap: str << "Startup complete"; break; case winExceptionDllNotFound: str << "DLL not found"; break; case winExceptionDllEntryPointNoFound: str << "DLL entry point not found"; break; case winExceptionDllInitFailed: str << "DLL failed to initialize"; break; case winExceptionMissingSystemFile: str << "System file is missing"; break; case winExceptionRpcServerUnavailable: str << "RPC server unavailable"; break; case winExceptionRpcServerInvalid: str << "Invalid RPC server"; break; case winExceptionWX86Breakpoint: str << "Win32 x86 emulation subsystem breakpoint hit"; break; case EXCEPTION_ACCESS_VIOLATION: { const bool writeOperation = info1; str << (writeOperation ? "write" : "read") << " access violation at: 0x" << info2; } break; case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: str << "arrary bounds exceeded"; break; case EXCEPTION_BREAKPOINT: str << "breakpoint"; break; case EXCEPTION_DATATYPE_MISALIGNMENT: str << "datatype misalignment"; break; case EXCEPTION_FLT_DENORMAL_OPERAND: str << "floating point exception"; break; case EXCEPTION_FLT_DIVIDE_BY_ZERO: str << "division by zero"; break; case EXCEPTION_FLT_INEXACT_RESULT: str << " floating-point operation cannot be represented exactly as a decimal fraction"; break; case EXCEPTION_FLT_INVALID_OPERATION: str << "invalid floating-point operation"; break; case EXCEPTION_FLT_OVERFLOW: str << "floating-point overflow"; break; case EXCEPTION_FLT_STACK_CHECK: str << "floating-point operation stack over/underflow"; break; case EXCEPTION_FLT_UNDERFLOW: str << "floating-point UNDERFLOW"; break; case EXCEPTION_ILLEGAL_INSTRUCTION: str << "invalid instruction"; break; case EXCEPTION_IN_PAGE_ERROR: str << "page in error"; break; case EXCEPTION_INT_DIVIDE_BY_ZERO: str << "integer division by zero"; break; case EXCEPTION_INT_OVERFLOW: str << "integer overflow"; break; case EXCEPTION_INVALID_DISPOSITION: str << "invalid disposition to exception dispatcher"; break; case EXCEPTION_NONCONTINUABLE_EXCEPTION: str << "attempt to continue execution after noncontinuable exception"; break; case EXCEPTION_PRIV_INSTRUCTION: str << "privileged instruction"; break; case EXCEPTION_SINGLE_STEP: str << "single step"; break; case EXCEPTION_STACK_OVERFLOW: str << "stack_overflow"; break; } str << ", flags=0x" << flags; if (flags == EXCEPTION_NONCONTINUABLE) { str << " (execution cannot be continued)"; } str.setIntegerBase(10); }