1 /* 2 * Copyright 2010, Ingo Weinhold, ingo_weinhold@gmx.de. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _TEAM_DEBUGGER_H 6 #define _TEAM_DEBUGGER_H 7 8 9 #include <debugger.h> 10 11 #include <DebugContext.h> 12 13 14 class BPath; 15 16 17 class BTeamDebugger : public BDebugContext { 18 public: 19 BTeamDebugger(); 20 ~BTeamDebugger(); 21 22 status_t Install(team_id team); 23 status_t Uninstall(); 24 25 status_t LoadProgram(const char* const* args, 26 int32 argCount, bool traceLoading); 27 28 status_t ReadDebugMessage(int32& _messageCode, 29 debug_debugger_message_data& messageBuffer); 30 31 port_id DebuggerPort() const { return fDebuggerPort; } 32 33 private: 34 static thread_id _LoadProgram(const char* const* args, 35 int32 argCount, bool traceLoading); 36 static status_t _FindProgram(const char* programName, 37 BPath& resolvedPath); 38 39 private: 40 port_id fDebuggerPort; 41 }; 42 43 44 #endif // _TEAM_DEBUGGER_H 45