DebuggerInterface::BG_Debugger_Msg Class Reference

#include <bgp-debugger-interface.h>

Data Structures

union  DataArea
struct  Header

Public Member Functions

 BG_Debugger_Msg (void)
 BG_Debugger_Msg (BG_MsgType_t type, BG_NodeNum_t node, BG_ThreadID_t thread, uint32_t sequence, uint32_t returnCode)

Static Public Member Functions

static BG_Debugger_Msg generateErrorPacket (BG_Debugger_Msg &original, BG_ErrorCode_t ec)
static bool readFromFd (int fd, BG_Debugger_Msg &msg)
 Read a debugger message from a descriptor.
static bool readFromFd (int fd, BG_Debugger_Msg &msg, volatile int *abortPipeIO)
 Read a debugger message from a descriptor.
static bool writeOnFd (int fd, BG_Debugger_Msg &msg)
 Write a debugger message to a descriptor.
static bool writeOnFd (int fd, BG_Debugger_Msg &msg, volatile int *abortPipeIO)
 Write a debugger message to a descriptor.
static const char * getMessageName (BG_MsgType_t type)
 Get a string describing a debugger message type.
static void dump (BG_Debugger_Msg &msg)
 Print details about a debugger message to standard output.
static void dump (BG_Debugger_Msg &msg, FILE *outfile)
 Print details about a debugger message to the specified file.

Data Fields

Header header
DataArea dataArea

Static Private Member Functions

static bool readFromFd_p (int fd, BG_Debugger_Msg &msg, volatile int *abortPipeIO)
 Read a debugger message from a descriptor.
static bool writeOnFd_p (int fd, BG_Debugger_Msg &msg, volatile int *abortPipeIO)
 Write a debugger message to a descriptor.
static void dumpGPRSet (BG_GPRSet_t *gprs, FILE *outfile)
 Print the set of GPRs to the specified file.
static void dumpFPRSet (BG_FPRSet_t *fprs, FILE *outfile)
 Print the set of FPRs to the specified file.
static void dumpDebugSet (BG_DebugSet_t *debugRegisters, FILE *outfile)
 Print the set of debug registers to the specified file.

Detailed Description

Definition at line 464 of file bgp-debugger-interface.h.


Constructor & Destructor Documentation

DebuggerInterface::BG_Debugger_Msg::BG_Debugger_Msg ( void   )  [inline]
DebuggerInterface::BG_Debugger_Msg::BG_Debugger_Msg ( BG_MsgType_t  type,
BG_NodeNum_t  node,
BG_ThreadID_t  thread,
uint32_t  sequence,
uint32_t  returnCode 
) [inline]

Member Function Documentation

static void DebuggerInterface::BG_Debugger_Msg::dump ( BG_Debugger_Msg msg,
FILE *  outfile 
) [inline, static]

Print details about a debugger message to the specified file.

Parameters:
msg Reference to debugger message.
outfile Pointer to file for printing message.
Returns:
Nothing.

Definition at line 1100 of file bgp-debugger-interface.h.

References DebuggerInterface::BG_Debugger_Msg::DataArea::addr, DebuggerInterface::ATTACH, DebuggerInterface::ATTACH_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::auxVecBufferLength, DebuggerInterface::BG_Debugger_Msg::DataArea::auxVecBufferOffset, DebuggerInterface::BG_Debugger_Msg::DataArea::auxVecData, DebuggerInterface::BG_Debugger_Msg::DataArea::CONTINUE, DebuggerInterface::CONTINUE, DebuggerInterface::CONTINUE_ACK, DebuggerInterface::BG_Thread_Data_t::core, DebuggerInterface::BG_Debugger_Msg::DataArea::data, dataArea, DebuggerInterface::DEBUG_IGNORE_SIG, DebuggerInterface::DEBUG_IGNORE_SIG_ACK, DebuggerInterface::BG_Thread_Data_t::debugRegisters, DebuggerInterface::BG_Debugger_Msg::DataArea::debugRegisters, DebuggerInterface::DETACH, DebuggerInterface::DETACH_ACK, dumpDebugSet(), dumpFPRSet(), dumpGPRSet(), DebuggerInterface::BG_Debugger_Msg::DataArea::enable, DebuggerInterface::END_DEBUG, DebuggerInterface::END_DEBUG_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::FAST_TRAP, DebuggerInterface::FAST_TRAP, DebuggerInterface::FAST_TRAP_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::flags, fprintf, DebuggerInterface::BG_Thread_Data_t::fprs, DebuggerInterface::BG_Debugger_Msg::DataArea::fprs, DebuggerInterface::BG_Stack_Info_t::frameAddr, DebuggerInterface::GET_ALL_FLOAT_REGS, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_ALL_FLOAT_REGS_ACK, DebuggerInterface::GET_ALL_FLOAT_REGS_ACK, DebuggerInterface::GET_ALL_REGS, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_ALL_REGS_ACK, DebuggerInterface::GET_ALL_REGS_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_AUX_VECTORS, DebuggerInterface::GET_AUX_VECTORS, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_AUX_VECTORS_ACK, DebuggerInterface::GET_AUX_VECTORS_ACK, DebuggerInterface::GET_DEBUG_REGS, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_DEBUG_REGS_ACK, DebuggerInterface::GET_DEBUG_REGS_ACK, DebuggerInterface::GET_FLOAT_REG, DebuggerInterface::GET_FLOAT_REG_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_MEM, DebuggerInterface::GET_MEM, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_MEM_ACK, DebuggerInterface::GET_MEM_ACK, DebuggerInterface::GET_PROCESS_DATA, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_PROCESS_DATA_ACK, DebuggerInterface::GET_PROCESS_DATA_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_REG, DebuggerInterface::GET_REG, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_REG_ACK, DebuggerInterface::GET_REG_ACK, DebuggerInterface::GET_REGS_AND_FLOATS, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_REGS_AND_FLOATS_ACK, DebuggerInterface::GET_REGS_AND_FLOATS_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_STACK_INFO_ACK, DebuggerInterface::GET_STACK_TRACE, DebuggerInterface::GET_STACK_TRACE_ACK, DebuggerInterface::GET_THREAD_DATA, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_THREAD_DATA_ACK, DebuggerInterface::GET_THREAD_DATA_ACK, DebuggerInterface::GET_THREAD_ID, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_THREAD_ID_ACK, DebuggerInterface::GET_THREAD_ID_ACK, DebuggerInterface::GET_THREAD_INFO, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_THREAD_INFO_ACK, DebuggerInterface::GET_THREAD_INFO_ACK, getMessageName(), DebuggerInterface::BG_Thread_Data_t::gprs, DebuggerInterface::BG_Debugger_Msg::DataArea::gprs, DebuggerInterface::BG_Thread_Data_t::guardEndAddr, DebuggerInterface::BG_Thread_Data_t::guardStartAddr, header, DebuggerInterface::BG_Process_Data_t::heapBreakAddr, DebuggerInterface::BG_Process_Data_t::heapEndAddr, DebuggerInterface::BG_Process_Data_t::heapStartAddr, DebuggerInterface::BG_Debugger_Msg::DataArea::HOLD_THREAD, DebuggerInterface::HOLD_THREAD, DebuggerInterface::HOLD_THREAD_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::iar, DebuggerInterface::BG_Debugger_Msg::DataArea::KILL, DebuggerInterface::KILL, DebuggerInterface::KILL_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::len, DebuggerInterface::BG_Debugger_Msg::DataArea::lr, DebuggerInterface::BG_Debugger_Msg::DataArea::MAP_MEM, DebuggerInterface::MAP_MEM, DebuggerInterface::MAP_MEM_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::mask, DebuggerInterface::BG_Debugger_Msg::Header::messageType, DebuggerInterface::BG_Process_Data_t::mmapEndAddr, DebuggerInterface::BG_Process_Data_t::mmapStartAddr, DebuggerInterface::BG_Debugger_Msg::Header::nodeNumber, DebuggerInterface::BG_Debugger_Msg::DataArea::numLogicalProcessors, DebuggerInterface::BG_Debugger_Msg::DataArea::numPhysicalProcessors, DebuggerInterface::BG_Thread_Data_t::numStackFrames, DebuggerInterface::BG_Debugger_Msg::DataArea::numStackFrames, DebuggerInterface::BG_Debugger_Msg::DataArea::numThreads, DebuggerInterface::BG_Debugger_Msg::DataArea::operation, DebuggerInterface::BG_Process_Data_t::persistMemoryEndAddr, DebuggerInterface::BG_Process_Data_t::persistMemoryStartAddr, DebuggerInterface::BG_Debugger_Msg::DataArea::processData, DebuggerInterface::BG_Debugger_Msg::DataArea::PROGRAM_EXITED, DebuggerInterface::PROGRAM_EXITED, DebuggerInterface::BG_Debugger_Msg::DataArea::protocolVersion, DebuggerInterface::BG_Process_Data_t::rank, DebuggerInterface::BG_Debugger_Msg::DataArea::rc, DebuggerInterface::BG_Debugger_Msg::DataArea::registerNumber, DebuggerInterface::RELEASE_THREAD, DebuggerInterface::RELEASE_THREAD_ACK, DebuggerInterface::BG_Debugger_Msg::Header::returnCode, DebuggerInterface::BG_Stack_Info_t::savedLR, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_DEBUG_REGS, DebuggerInterface::SET_DEBUG_REGS, DebuggerInterface::SET_DEBUG_REGS_ACK, DebuggerInterface::SET_FLOAT_REG, DebuggerInterface::SET_FLOAT_REG_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_MEM, DebuggerInterface::SET_MEM, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_MEM_ACK, DebuggerInterface::SET_MEM_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_REG, DebuggerInterface::SET_REG, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_REG_ACK, DebuggerInterface::SET_REG_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_THREAD_OPS, DebuggerInterface::SET_THREAD_OPS, DebuggerInterface::SET_THREAD_OPS_ACK, DebuggerInterface::BG_Process_Data_t::sharedMemoryEndAddr, DebuggerInterface::BG_Process_Data_t::sharedMemoryStartAddr, DebuggerInterface::BG_Debugger_Msg::DataArea::SIGACTION, DebuggerInterface::SIGACTION, DebuggerInterface::SIGACTION_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::signal, DebuggerInterface::BG_Debugger_Msg::DataArea::SIGNAL_ENCOUNTERED, DebuggerInterface::SIGNAL_ENCOUNTERED, DebuggerInterface::BG_Debugger_Msg::DataArea::signum, DebuggerInterface::SINGLE_STEP, DebuggerInterface::SINGLE_STEP_ACK, DebuggerInterface::BG_Thread_Data_t::stackEndAddr, DebuggerInterface::BG_Debugger_Msg::DataArea::stackFrame, DebuggerInterface::BG_Thread_Data_t::stackInfo, DebuggerInterface::BG_Debugger_Msg::DataArea::stackInfo, DebuggerInterface::BG_Thread_Data_t::stackStartAddr, DebuggerInterface::BG_Process_Data_t::tCoord, DebuggerInterface::BG_Process_Data_t::tgid, DebuggerInterface::THIS_SPACE_FOR_RENT, DebuggerInterface::BG_Debugger_Msg::DataArea::THREAD_ALIVE, DebuggerInterface::THREAD_ALIVE, DebuggerInterface::THREAD_ALIVE_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::threadData, DebuggerInterface::BG_Thread_Data_t::threadID, DebuggerInterface::BG_Debugger_Msg::DataArea::threadIDS, DebuggerInterface::BG_Debugger_Msg::DataArea::tid, DebuggerInterface::BG_Debugger_Msg::DataArea::timeout, DebuggerInterface::BG_Debugger_Msg::DataArea::type, DebuggerInterface::BG_Debugger_Msg::DataArea::value, DebuggerInterface::VERSION_MSG, DebuggerInterface::BG_Debugger_Msg::DataArea::VERSION_MSG_ACK, DebuggerInterface::VERSION_MSG_ACK, DebuggerInterface::BG_Process_Data_t::xCoord, DebuggerInterface::BG_Process_Data_t::yCoord, and DebuggerInterface::BG_Process_Data_t::zCoord.

static void DebuggerInterface::BG_Debugger_Msg::dump ( BG_Debugger_Msg msg  )  [inline, static]

Print details about a debugger message to standard output.

Parameters:
msg Reference to debugger message.
Returns:
Nothing.

Definition at line 1090 of file bgp-debugger-interface.h.

static void DebuggerInterface::BG_Debugger_Msg::dumpDebugSet ( BG_DebugSet_t debugRegisters,
FILE *  outfile 
) [inline, static, private]
static void DebuggerInterface::BG_Debugger_Msg::dumpFPRSet ( BG_FPRSet_t fprs,
FILE *  outfile 
) [inline, static, private]

Print the set of FPRs to the specified file.

Parameters:
fprs Pointer to set of FPRs.
outfile Pointer to file for printing message.
Returns:
Nothing.

Definition at line 1500 of file bgp-debugger-interface.h.

References fprintf, DebuggerInterface::BG_FPRSet_t::fprs, DebuggerInterface::BG_FPR_t::w0, DebuggerInterface::BG_FPR_t::w1, DebuggerInterface::BG_FPR_t::w2, and DebuggerInterface::BG_FPR_t::w3.

Referenced by dump().

static void DebuggerInterface::BG_Debugger_Msg::dumpGPRSet ( BG_GPRSet_t gprs,
FILE *  outfile 
) [inline, static, private]
static BG_Debugger_Msg DebuggerInterface::BG_Debugger_Msg::generateErrorPacket ( BG_Debugger_Msg original,
BG_ErrorCode_t  ec 
) [inline, static]

Definition at line 771 of file bgp-debugger-interface.h.

References DebuggerInterface::BG_Debugger_Msg::DataArea::addr, DebuggerInterface::ATTACH, DebuggerInterface::BG_Debugger_Msg::DataArea::ATTACH_ACK, DebuggerInterface::ATTACH_ACK, BG_Debugger_Msg_MAX_MEM_SIZE, DebuggerInterface::CONTINUE, DebuggerInterface::BG_Debugger_Msg::DataArea::CONTINUE_ACK, DebuggerInterface::CONTINUE_ACK, dataArea, DebuggerInterface::BG_Debugger_Msg::Header::dataLength, DebuggerInterface::DETACH, DebuggerInterface::BG_Debugger_Msg::DataArea::DETACH_ACK, DebuggerInterface::DETACH_ACK, DebuggerInterface::END_DEBUG, DebuggerInterface::END_DEBUG_ACK, errMsg, DebuggerInterface::GET_ALL_FLOAT_REGS, DebuggerInterface::GET_ALL_FLOAT_REGS_ACK, DebuggerInterface::GET_ALL_REGS, DebuggerInterface::GET_ALL_REGS_ACK, DebuggerInterface::GET_AUX_VECTORS, DebuggerInterface::GET_AUX_VECTORS_ACK, DebuggerInterface::GET_DEBUG_REGS, DebuggerInterface::GET_DEBUG_REGS_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_FLOAT_REG, DebuggerInterface::GET_FLOAT_REG, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_FLOAT_REG_ACK, DebuggerInterface::GET_FLOAT_REG_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_MEM, DebuggerInterface::GET_MEM, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_MEM_ACK, DebuggerInterface::GET_MEM_ACK, DebuggerInterface::GET_PROCESS_DATA, DebuggerInterface::GET_PROCESS_DATA_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_REG, DebuggerInterface::GET_REG, DebuggerInterface::BG_Debugger_Msg::DataArea::GET_REG_ACK, DebuggerInterface::GET_REG_ACK, DebuggerInterface::GET_REGS_AND_FLOATS, DebuggerInterface::GET_STACK_TRACE, DebuggerInterface::GET_STACK_TRACE_ACK, DebuggerInterface::GET_THREAD_DATA, DebuggerInterface::GET_THREAD_DATA_ACK, DebuggerInterface::GET_THREAD_ID, DebuggerInterface::GET_THREAD_ID_ACK, DebuggerInterface::GET_THREAD_INFO, DebuggerInterface::GET_THREAD_INFO_ACK, header, DebuggerInterface::KILL, DebuggerInterface::BG_Debugger_Msg::DataArea::KILL_ACK, DebuggerInterface::KILL_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::len, DebuggerInterface::BG_Debugger_Msg::Header::messageType, DebuggerInterface::BG_Debugger_Msg::Header::nodeNumber, DebuggerInterface::BG_Debugger_Msg::DataArea::registerNumber, DebuggerInterface::BG_Debugger_Msg::Header::returnCode, DebuggerInterface::BG_Debugger_Msg::Header::sequence, DebuggerInterface::SET_DEBUG_REGS, DebuggerInterface::SET_DEBUG_REGS_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_FLOAT_REG, DebuggerInterface::SET_FLOAT_REG, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_FLOAT_REG_ACK, DebuggerInterface::SET_FLOAT_REG_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_MEM, DebuggerInterface::SET_MEM, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_MEM_ACK, DebuggerInterface::SET_MEM_ACK, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_REG, DebuggerInterface::SET_REG, DebuggerInterface::BG_Debugger_Msg::DataArea::SET_REG_ACK, DebuggerInterface::SET_REG_ACK, DebuggerInterface::SET_THREAD_OPS, DebuggerInterface::SET_THREAD_OPS_ACK, DebuggerInterface::SINGLE_STEP, DebuggerInterface::BG_Debugger_Msg::DataArea::SINGLE_STEP_ACK, DebuggerInterface::SINGLE_STEP_ACK, DebuggerInterface::BG_Debugger_Msg::Header::thread, DebuggerInterface::THREAD_ALIVE, DebuggerInterface::BG_Debugger_Msg::DataArea::THREAD_ALIVE_ACK, DebuggerInterface::THREAD_ALIVE_ACK, and DebuggerInterface::BG_Debugger_Msg::DataArea::value.

static const char* DebuggerInterface::BG_Debugger_Msg::getMessageName ( BG_MsgType_t  type  )  [inline, static]

Get a string describing a debugger message type.

Parameters:
type Debugger message type.
Returns:
Pointer to string.

Definition at line 1005 of file bgp-debugger-interface.h.

References DebuggerInterface::GET_REG, and DebuggerInterface::THIS_SPACE_FOR_RENT.

Referenced by dump().

static bool DebuggerInterface::BG_Debugger_Msg::readFromFd ( int  fd,
BG_Debugger_Msg msg,
volatile int *  abortPipeIO 
) [inline, static]

Read a debugger message from a descriptor.

Parameters:
fd Descriptor to read from.
msg Reference to debugger message.
abortPipeIO Pointer to integer that indicates whether to abort read on error.
Returns:
True when message was read successfully, false if there was an error.

Definition at line 975 of file bgp-debugger-interface.h.

References readFromFd_p().

static bool DebuggerInterface::BG_Debugger_Msg::readFromFd ( int  fd,
BG_Debugger_Msg msg 
) [inline, static]

Read a debugger message from a descriptor.

Parameters:
fd Descriptor to read from.
msg Reference to debugger message.
Returns:
True when message was read successfully, false if there was an error.

Definition at line 964 of file bgp-debugger-interface.h.

References readFromFd_p().

static bool DebuggerInterface::BG_Debugger_Msg::readFromFd_p ( int  fd,
BG_Debugger_Msg msg,
volatile int *  abortPipeIO 
) [inline, static, private]

Read a debugger message from a descriptor.

Parameters:
fd Descriptor to read from.
msg Reference to debugger message.
abortPipeIO Pointer to integer that indicates whether to abort read on error.
Returns:
True when message was read succesfully, false if there was an error.

Definition at line 1367 of file bgp-debugger-interface.h.

References dataArea, DebuggerInterface::BG_Debugger_Msg::Header::dataLength, and header.

Referenced by readFromFd().

static bool DebuggerInterface::BG_Debugger_Msg::writeOnFd ( int  fd,
BG_Debugger_Msg msg,
volatile int *  abortPipeIO 
) [inline, static]

Write a debugger message to a descriptor.

Parameters:
fd Descriptor to write to.
msg Reference to debugger message.
abortPipeIO Pointer to integer that indicates whether to abort read on error.
Returns:
True when message was written successfully, false if there was an error.

Definition at line 996 of file bgp-debugger-interface.h.

References writeOnFd_p().

static bool DebuggerInterface::BG_Debugger_Msg::writeOnFd ( int  fd,
BG_Debugger_Msg msg 
) [inline, static]

Write a debugger message to a descriptor.

Parameters:
fd Descriptor to write to.
msg Reference to debugger message.
Returns:
True when message was written successfully, false if there was an error.

Definition at line 985 of file bgp-debugger-interface.h.

References writeOnFd_p().

static bool DebuggerInterface::BG_Debugger_Msg::writeOnFd_p ( int  fd,
BG_Debugger_Msg msg,
volatile int *  abortPipeIO 
) [inline, static, private]

Write a debugger message to a descriptor.

Parameters:
fd Descriptor to write to.
msg Reference to debugger message.
abortPipeIO Pointer to integer that indicates whether to abort write on error.
Returns:
True when message was written successfully, false if there was an error.

Definition at line 1442 of file bgp-debugger-interface.h.

References DebuggerInterface::BG_Debugger_Msg::Header::dataLength, and header.

Referenced by writeOnFd().


Field Documentation


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 12 Jul 2013 for SymtabAPI by  doxygen 1.6.1