Added remote gdb objects to each process
--HG-- extra : convert_revision : 1b5c1470ffc52b2f7719e469153702dec694f9a3
This commit is contained in:
parent
8840ebcb00
commit
45c3f1747c
2 changed files with 18 additions and 0 deletions
|
@ -35,6 +35,7 @@
|
|||
|
||||
#include <string>
|
||||
|
||||
#include "arch/remote_gdb.hh"
|
||||
#include "base/intmath.hh"
|
||||
#include "base/loader/object_file.hh"
|
||||
#include "base/loader/symtab.hh"
|
||||
|
@ -154,6 +155,13 @@ Process::registerThreadContext(ThreadContext *tc)
|
|||
int myIndex = threadContexts.size();
|
||||
threadContexts.push_back(tc);
|
||||
|
||||
RemoteGDB *rgdb = new RemoteGDB(system, tc);
|
||||
GDBListener *gdbl = new GDBListener(rgdb, 7000 + myIndex);
|
||||
gdbl->listen();
|
||||
//gdbl->accept();
|
||||
|
||||
remoteGDB.push_back(rgdb);
|
||||
|
||||
// return CPU number to caller
|
||||
return myIndex;
|
||||
}
|
||||
|
|
|
@ -51,6 +51,11 @@ class SyscallDesc;
|
|||
class PageTable;
|
||||
class TranslatingPort;
|
||||
class System;
|
||||
class GDBListener;
|
||||
namespace TheISA
|
||||
{
|
||||
class RemoteGDB;
|
||||
}
|
||||
|
||||
void
|
||||
copyStringArray(std::vector<std::string> &strings, Addr array_ptr,
|
||||
|
@ -72,6 +77,11 @@ class Process : public SimObject
|
|||
// thread contexts associated with this process
|
||||
std::vector<ThreadContext *> threadContexts;
|
||||
|
||||
// remote gdb objects
|
||||
std::vector<TheISA::RemoteGDB *> remoteGDB;
|
||||
std::vector<GDBListener *> gdbListen;
|
||||
bool breakpoint();
|
||||
|
||||
// number of CPUs (esxec contexts, really) assigned to this process.
|
||||
unsigned int numCpus() { return threadContexts.size(); }
|
||||
|
||||
|
|
Loading…
Reference in a new issue