Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Unified Diff: experimental/windows_debugger/debugger/core/debuggee_iprocess.h

Issue 10928195: First round of dead file removal (Closed) Base URL: https://github.com/samclegg/nativeclient-sdk.git@master
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: experimental/windows_debugger/debugger/core/debuggee_iprocess.h
diff --git a/experimental/windows_debugger/debugger/core/debuggee_iprocess.h b/experimental/windows_debugger/debugger/core/debuggee_iprocess.h
deleted file mode 100644
index df592a0d79b95c6dace5c5be3543b6a03fa0d309..0000000000000000000000000000000000000000
--- a/experimental/windows_debugger/debugger/core/debuggee_iprocess.h
+++ /dev/null
@@ -1,170 +0,0 @@
-// Copyright (c) 2011 The Native Client Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-#ifndef DEBUGGER_CORE_DEBUGGEE_IPROCESS_H_
-#define DEBUGGER_CORE_DEBUGGEE_IPROCESS_H_
-#include <windows.h>
-#include <deque>
-
-/// \brief This namespace groups classes related to OOP (out-of-process)
-/// Windows debugger.
-namespace debug {
-class Breakpoint;
-class DebugAPI;
-class DebuggeeThread;
-class DebugEvent;
-
-/// This abstract class represents a process in debugged application.
-/// Inherited by DebuggeeProcess and DebuggeeProcessMock classes.
-
-/// Class diagram (and more) is here:
-/// https://docs.google.com/a/google.com/document/d/1lTN-IYqDd_oy9XQg9-zlNc_vbg-qyr4q2MKNEjhSA84/edit?hl=en&authkey=CJyJlOgF#
-class IDebuggeeProcess {
- public:
- enum State {
- kRunning, // process is alive, event loop is running
- kHalted, // process is alive, event loop is not running
- kDead // process is deleted by OS
- };
-
- IDebuggeeProcess() {}
- virtual ~IDebuggeeProcess() {}
-
- /// @return id of the process
- virtual int id() const = 0;
-
- virtual State state() const = 0;
- virtual DebugAPI& debug_api() = 0;
-
- virtual bool IsHalted() const = 0;
-
- /// @return reference to last received debug event
- virtual const DebugEvent& last_debug_event() const = 0;
-
- /// @return address of memory region where nexe is loaded.
- virtual void* nexe_mem_base() const = 0;
-
- virtual void set_nexe_mem_base(void* addr) = 0;
-
- /// @return code address of nexe _start() routine.
- virtual void* nexe_entry_point() const = 0;
-
- virtual void set_nexe_entry_point(void* addr) = 0;
-
- /// @return word size of the debuggee process (32 or 64).
- virtual int GetWordSizeInBits() = 0;
-
- /// @return true for WoW (windows-on-windows) processes -
- /// i.e. 32-bit processes running on 64-bit windows.
- virtual bool IsWoW() = 0;
-
- /// Allows process execution to continue (i.e. it calls
- /// ContinueDebugEvent() for halted thread).
- /// Shall be called only on halted process, and only from the thread that
- /// started the debuggee.
- virtual bool Continue() = 0;
-
- /// Allows process execution to continue. If thread was halted due
- /// to exception, that exception is passed to the debugee thread.
- /// Shall be called only on halted process, and only from the thread that
- /// started the debuggee.
- virtual bool ContinueAndPassExceptionToDebuggee() = 0;
-
- /// Cause halted thread to execute single CPU instruction.
- /// Shall be called only on halted process, and only from the thread that
- /// started the debuggee.
- virtual bool SingleStep() = 0;
-
- /// Cause running process to break (calls
- /// debug::DebugApi::DebugBreakProcess).
- /// Shall not be called on halted process, and only from the thread that
- /// started the debuggee.
- virtual bool Break() = 0;
-
- /// Terminates all threads of the process.
- /// Event loop should process exiting debug event before DebuggeeProcess
- /// object gets into kDead state and can be safely deleted.
- /// TODO(garianov): verify that |Kill| can be called from any thread.
- virtual bool Kill() = 0;
-
- /// Detaches debugger fom the process. Process is not killed.
- /// TODO(garianov): verify that |Detach| can be called from any thread.
- virtual bool Detach() = 0;
-
- /// @return a pointer to the thread object, or NULL if there's
- /// no thread with such |id|.
- /// Thread object is owned by the process.
- virtual DebuggeeThread* GetThread(int id) = 0;
-
- /// @return a poiner to the halted thread object, or NULL
- /// if process is not halted.
- /// Thread object is owned by the process.
- virtual DebuggeeThread* GetHaltedThread() = 0;
-
- /// @return all thread ids.
- virtual void GetThreadIds(std::deque<int>* threads) const = 0;
-
- /// Copies memory from debuggee process to debugger buffer.
- /// Shall be called only on halted process. There's no harm though if you
- /// call it on running process.
- /// @param[in] addr address (in debugger address space) from where to read.
- /// @param[in] size number of bytes to read.
- /// @param[out] destination destination buffer (in debugger address space).
- /// TODO(garianov): verify that |ReadMemory| can be called from any thread.
- virtual bool ReadMemory(const void* addr, size_t size, void* destination) = 0;
-
- /// Copies memory from debugger to debuggee process.
- /// Shall be called only on halted process.
- /// @param[in] addr address (in debugger address space) where to write.
- /// @param[in] size number of bytes to write.
- /// @param[in] source address of source buffer.
- /// TODO(garianov): verify that |WriteMemory| can be called from any thread.
- virtual bool WriteMemory(const void* addr,
- size_t size,
- const void* source) = 0;
-
- /// Sets breakpoint at specified address |addr|.
- /// Shall be called only on halted process.
- /// Note: for NaCl threads, breakpoints are supported only in nexe code,
- /// i.e. breakpoints in TCB won't work.
- /// TODO(garianov): add support for breakpoints in TCB.
- /// @param[in] addr address where breakpoint shall be.
- /// @return false if process is not able to access memory at |addr|,
- /// or process is not halted, or if there is breakpoint with the same |addr|.
- virtual bool SetBreakpoint(void* addr) = 0;
-
- /// Removes breakpoint at specified address |addr|.
- /// Shall be called only on halted process.
- /// @param[in] addr address of breakpoint.
- /// @return false if process is not halted.
- virtual bool RemoveBreakpoint(void* addr) = 0;
-
- /// @return breakpoint object, or NULL if there's no breakpoint
- /// set at |addr|.
- /// @param[in] addr address of breakpoint.
- virtual Breakpoint* GetBreakpoint(void* addr) = 0;
-
- /// Return all breakpoints.
- /// @param[out] breakpoints
- virtual void GetBreakpoints(std::deque<Breakpoint*>* breakpoints) = 0;
-
- /// Converts relative pointer to flat(aka linear) process address.
- /// Calling this function makes sense only for nexe threads,
- /// it's safe to call for any thread.
- /// @param[in] ptr relative pointer
- /// @return flat address
- virtual void* FromNexeToFlatAddress(void* ptr) const = 0;
-
- private:
- friend class ExecutionEngine;
-
- /// Handler of debug events.
- /// @param[in] debug_event debug event received from debuggee process
- virtual void OnDebugEvent(DebugEvent* debug_event) = 0;
-
- IDebuggeeProcess(const IDebuggeeProcess&); // DISALLOW_COPY_AND_ASSIGN
- void operator=(const IDebuggeeProcess&);
-};
-} // namespace debug
-#endif // DEBUGGER_CORE_DEBUGGEE_IPROCESS_H_
-

Powered by Google App Engine
This is Rietveld 408576698