TelnetDebugger
Engine/source/console/telnetDebugger.h
Telnet debug service implementation.
Classes:
Private Types
enum
_Anonymous_ { Version = 2 PasswordMaxLength = 32 MaxCommandSize = 2048 }
enum
State { NotConnected PasswordTry Initialize Connected }
Private Attributes
Breakpoint *
char
mDebuggerPassword [PasswordMaxLength+1]
char
mLineBuffer [MaxCommandSize]
bool
bool
Private Functions
addBreakpoint(const char * fileName, S32 line, bool clear, S32 passCount, const char * evalString)
addVariableBreakpoint(const char * varName, S32 passCount, const char * evalString)
dumpBreakableList(const char * fileName)
evaluateExpression(const char * tag, S32 frame, const char * evalBuffer)
Breakpoint **
findBreakpoint(StringTableEntry fileName, S32 lineNumber)
removeBreakpoint(const char * fileName, S32 line)
removeBreakpointsFromCode(CodeBlock * code)
removeVariableBreakpoint(const char * varName)
setBreakOnNextStatement(bool enabled)
Public Functions
addAllBreakpoints(CodeBlock * code)
clearCodeBlockPointers(CodeBlock * code)
executionStopped(CodeBlock * code, U32 lineNumber)
bool
processConsoleLine(const char * consoleLine)
setDebugParameters(S32 port, const char * password, bool waitForClient)
Detailed Description
Telnet debug service implementation.
This is the C++ side of the built-in Torque debugger.
To use the debugger, use dbgSetParameters(port, password); in the console of the server to enable debugger connections. Then on some other system, start up the app (you don't have to start a game or connect to the server) and exec("common/debugger/debugger.tscript"); in the console. Then use the debugger GUI to connect to the server with the right port and password.
see:
Private Types
@67
Enumerator
- Version = 2
- PasswordMaxLength = 32
- MaxCommandSize = 2048
State
Enumerator
- NotConnected
- PasswordTry
- Initialize
- Connected
Private Attributes
S32 mAcceptPort
NetSocket mAcceptSocket
bool mBreakOnNextStatement
Breakpoint * mBreakpoints
S32 mCurPos
char mDebuggerPassword [PasswordMaxLength+1]
NetSocket mDebugSocket
char mLineBuffer [MaxCommandSize]
bool mProgramPaused
S32 mStackPopBreakIndex
S32 mState
bool mWaitForClient
Private Functions
TelnetDebugger()
~TelnetDebugger()
addBreakpoint(const char * fileName, S32 line, bool clear, S32 passCount, const char * evalString)
addVariableBreakpoint(const char * varName, S32 passCount, const char * evalString)
checkDebugRecv()
debugBreakNext()
debugContinue()
debugStepIn()
debugStepOut()
debugStepOver()
dumpBreakableList(const char * fileName)
dumpFileList()
evaluateExpression(const char * tag, S32 frame, const char * evalBuffer)
findBreakpoint(StringTableEntry fileName, S32 lineNumber)
processLineBuffer(S32 )
removeAllBreakpoints()
removeBreakpoint(const char * fileName, S32 line)
removeBreakpointsFromCode(CodeBlock * code)
removeVariableBreakpoint(const char * varName)
sendBreak()
setBreakOnNextStatement(bool enabled)
Public Static Functions
create()
destroy()
Public Functions
addAllBreakpoints(CodeBlock * code)
breakProcess()
clearCodeBlockPointers(CodeBlock * code)
disconnect()
executionStopped(CodeBlock * code, U32 lineNumber)
isConnected()
popStackFrame()
process()
processConsoleLine(const char * consoleLine)
pushStackFrame()
send(const char * s)
setDebugParameters(S32 port, const char * password, bool waitForClient)