| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2010 The Native Client Authors. All rights reserved. | 2 * Copyright 2010 The Native Client Authors. All rights reserved. |
| 3 * Use of this source code is governed by a BSD-style license that can | 3 * Use of this source code is governed by a BSD-style license that can |
| 4 * be found in the LICENSE file. | 4 * be found in the LICENSE file. |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 | 7 |
| 8 // This module provides interfaces for accessing the debugging state of | 8 // This module provides interfaces for accessing the debugging state of |
| 9 // the target. The target can use either the thread that took the | 9 // the target. The target can use either the thread that took the |
| 10 // exception or run in it's own thread. To respond to the host, the | 10 // exception or run in it's own thread. To respond to the host, the |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 | 61 |
| 62 public: | 62 public: |
| 63 // Contruct a Target object. By default use the native ABI. | 63 // Contruct a Target object. By default use the native ABI. |
| 64 explicit Target(const Abi *abi = NULL); | 64 explicit Target(const Abi *abi = NULL); |
| 65 ~Target(); | 65 ~Target(); |
| 66 | 66 |
| 67 // Init must be the first function called to correctlty | 67 // Init must be the first function called to correctlty |
| 68 // build the Target internal structures. | 68 // build the Target internal structures. |
| 69 bool Init(); | 69 bool Init(); |
| 70 | 70 |
| 71 void SetMemoryBase(uint64_t mem_base) { mem_base_ = mem_base; } | |
| 72 | |
| 73 // Add and remove temporary breakpoints. These breakpoints | 71 // Add and remove temporary breakpoints. These breakpoints |
| 74 // must be added just before we start running, and removed | 72 // must be added just before we start running, and removed |
| 75 // just before we stop running to prevent the debugger from | 73 // just before we stop running to prevent the debugger from |
| 76 // seeing the modified memory. | 74 // seeing the modified memory. |
| 77 bool AddTemporaryBreakpoint(uint64_t address); | 75 bool AddTemporaryBreakpoint(uint64_t address); |
| 78 bool RemoveTemporaryBreakpoints(); | 76 bool RemoveTemporaryBreakpoints(); |
| 79 | 77 |
| 80 // This function should be called by a tracked thread when it takes | 78 // This function should be called by a tracked thread when it takes |
| 81 // an exception. It takes sig_start_ to prevent other exceptions | 79 // an exception. It takes sig_start_ to prevent other exceptions |
| 82 // from signalling thread. If wait is true, it will then block on | 80 // from signalling thread. If wait is true, it will then block on |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 145 // The current signal and signaling thread data is protected by | 143 // The current signal and signaling thread data is protected by |
| 146 // the mutex, and can only be owned by one thread at a time. | 144 // the mutex, and can only be owned by one thread at a time. |
| 147 // These values should only be written via the "Signal" member, | 145 // These values should only be written via the "Signal" member, |
| 148 // which will ensure that a new signal does not overwrite a | 146 // which will ensure that a new signal does not overwrite a |
| 149 // previous signal. | 147 // previous signal. |
| 150 volatile int8_t cur_signal_; | 148 volatile int8_t cur_signal_; |
| 151 volatile uint32_t sig_thread_; | 149 volatile uint32_t sig_thread_; |
| 152 | 150 |
| 153 uint32_t run_thread_; // Which thread to issue step commands on | 151 uint32_t run_thread_; // Which thread to issue step commands on |
| 154 uint32_t reg_thread_; // Which thread to issue context (reg) commands on | 152 uint32_t reg_thread_; // Which thread to issue context (reg) commands on |
| 155 uint64_t mem_base_; | |
| 156 }; | 153 }; |
| 157 | 154 |
| 158 | 155 |
| 159 } // namespace gdb_rsp | 156 } // namespace gdb_rsp |
| 160 | 157 |
| 161 #endif // NATIVE_CLIENT_GDB_RSP_TARGET_H_ | 158 #endif // NATIVE_CLIENT_GDB_RSP_TARGET_H_ |
| 162 | 159 |
| OLD | NEW |