diff options
author | Greg Clayton <gclayton@apple.com> | 2011-02-24 22:24:29 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2011-02-24 22:24:29 +0000 |
commit | 71337622329b5046a7a8f902a91f07cc4b0776fc (patch) | |
tree | 33c8f96b3f38b57e77696b4965a1855d8525092c /lldb/tools/debugserver/source/MacOSX/MachProcess.h | |
parent | afb36fad99457fd0ed10fa483c766b4783e0ec74 (diff) | |
download | bcm5719-llvm-71337622329b5046a7a8f902a91f07cc4b0776fc.tar.gz bcm5719-llvm-71337622329b5046a7a8f902a91f07cc4b0776fc.zip |
Fixed CommandReturnObject::SetImmediateErrorFile() to set the correct stream.
Modifed lldb_private::Process to be able to handle connecting to a remote
target that isn't running a process. This leaves lldb_private::Process in the
eStateConnected state from which we can then do an attach or launch.
Modified ProcessGDBRemote to be able to set stdin, stdout, stderr, working
dir, disable ASLR and a few other settings down by using new GDB remote
packets. This allows us to keep all of our current launch flags and settings
intact and still be able to communicate them over to the remote GDB server.
Previously these were being sent as arguments to the debugserver binary that
we were spawning. Also modified ProcessGDBRemote to handle losing connection
to the remote GDB server and always exit immediately. We do this by watching
the lldb_private::Communication event bit for the read thread exiting in the
ProcessGDBRemote async thread.
Added support for many of the new 'Q' packets for setting stdin, stdout,
stderr, working dir and disable ASLR to the GDBRemoteCommunication class for
easy accesss.
Modified debugserver for all of the new 'Q' packets and also made it so that
debugserver always exists if it loses connection with the remote debugger.
llvm-svn: 126444
Diffstat (limited to 'lldb/tools/debugserver/source/MacOSX/MachProcess.h')
-rw-r--r-- | lldb/tools/debugserver/source/MacOSX/MachProcess.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/tools/debugserver/source/MacOSX/MachProcess.h b/lldb/tools/debugserver/source/MacOSX/MachProcess.h index 85a8b467382..d52735adba7 100644 --- a/lldb/tools/debugserver/source/MacOSX/MachProcess.h +++ b/lldb/tools/debugserver/source/MacOSX/MachProcess.h @@ -58,6 +58,8 @@ public: nub_launch_flavor_t launch_flavor, int disable_aslr, DNBError &err); + + static uint32_t GetCPUTypeForLocalProcess (pid_t pid); static pid_t ForkChildForPTraceDebugging (const char *path, char const *argv[], char const *envp[], MachProcess* process, DNBError &err); static pid_t PosixSpawnChildForPTraceDebugging (const char *path, cpu_type_t cpu_type, @@ -167,6 +169,7 @@ public: void DumpThreadStoppedReason(nub_thread_t tid) const; const char * GetThreadInfo (nub_thread_t tid) const; + uint32_t GetCPUType (); nub_state_t GetState (); void SetState (nub_state_t state); bool IsRunning (nub_state_t state) @@ -248,6 +251,7 @@ private: nub_state_t DoSIGSTOP (bool clear_bps_and_wps, uint32_t *thread_idx_ptr = NULL); pid_t m_pid; // Process ID of child process + cpu_type_t m_cpu_type; // The CPU type of this process int m_child_stdin; int m_child_stdout; int m_child_stderr; |