Changeset 19757 in vbox for trunk/include/iprt
- Timestamp:
- May 15, 2009 11:37:31 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/dbg.h
r19561 r19757 42 42 /** NIL debug segment index. */ 43 43 #define NIL_RTDBGSEGIDX UINT32_C(0xffffffff) 44 /** The last normal segment index. */ 45 #define RTDBGSEGIDX_LAST UINT32_C(0xffffffef) 44 46 /** Special segment index that indicates that the offset is a relative 45 47 * virtual address (RVA). I.e. an offset from the start of the module. */ … … 144 146 145 147 /** 146 * Destroys the address space. 147 * 148 * This means unlinking all the modules it currently contains, potentially 148 * Retains a reference to the address space. 149 * 150 * @returns New reference count, UINT32_MAX on invalid handle (asserted). 151 * 152 * @param hDbgAs The address space handle. 153 * 154 * @remarks Will not take any locks. 155 */ 156 RTDECL(uint32_t) RTDbgAsRetain(RTDBGAS hDbgAs); 157 158 /** 159 * Release a reference to the address space. 160 * 161 * When the reference count reaches zero, the address space is destroyed. 162 * That means unlinking all the modules it currently contains, potentially 149 163 * causing some or all of them to be destroyed as they are managed by 150 164 * reference counting. 151 165 * 152 * @returns IPRT status code. 153 * 154 * @param hDbgAs The address space handle. A NIL handle will 155 * be quietly ignored. 156 */ 157 RTDECL(int) RTDbgAsDestroy(RTDBGAS hDbgAs); 166 * @returns New reference count, UINT32_MAX on invalid handle (asserted). 167 * 168 * @param hDbgAs The address space handle. The NIL handle is quietly 169 * ignored and 0 is returned. 170 * 171 * @remarks Will not take any locks. 172 */ 173 RTDECL(uint32_t) RTDbgAsRelease(RTDBGAS hDbgAs); 158 174 159 175 /** … … 164 180 * 165 181 * @param hDbgAs The address space handle. 182 * 183 * @remarks Will not take any locks. 166 184 */ 167 185 RTDECL(const char *) RTDbgAsName(RTDBGAS hDbgAs); … … 174 192 * 175 193 * @param hDbgAs The address space handle. 194 * 195 * @remarks Will not take any locks. 176 196 */ 177 197 RTDECL(RTUINTPTR) RTDbgAsFirstAddr(RTDBGAS hDbgAs); … … 184 204 * 185 205 * @param hDbgAs The address space handle. 206 * 207 * @remarks Will not take any locks. 186 208 */ 187 209 RTDECL(RTUINTPTR) RTDbgAsLastAddr(RTDBGAS hDbgAs); … … 196 218 * 197 219 * @param hDbgAs The address space handle. 220 * 221 * @remarks Will not take any locks. 198 222 */ 199 223 RTDECL(uint32_t) RTDbgAsModuleCount(RTDBGAS hDbgAs); 224 225 /** @name Flags for RTDbgAsModuleLink and RTDbgAsModuleLinkSeg 226 * @{ */ 227 /** Replace all conflicting module. 228 * (The conflicting modules will be removed the address space and their 229 * references released.) */ 230 #define RTDBGASLINK_FLAGS_REPLACE RT_BIT_32(0) 231 /** Mask containing the valid flags. */ 232 #define RTDBGASLINK_FLAGS_VALID_MASK UINT32_C(0x00000001) 233 /** @} */ 200 234 201 235 /** … … 212 246 * @param hDbgMod The module handle of the module to be linked in. 213 247 * @param ImageAddr The address to link the module at. 214 */ 215 RTDECL(int) RTDbgAsModuleLink(RTDBGAS hDbgAs, RTDBGMOD hDbgMod, RTUINTPTR ImageAddr); 248 * @param fFlags See RTDBGASLINK_FLAGS_*. 249 */ 250 RTDECL(int) RTDbgAsModuleLink(RTDBGAS hDbgAs, RTDBGMOD hDbgMod, RTUINTPTR ImageAddr, uint32_t fFlags); 216 251 217 252 /** … … 230 265 * linked in. 231 266 * @param SegAddr The address to link the segment at. 232 */ 233 RTDECL(int) RTDbgAsModuleLinkSeg(RTDBGAS hDbgAs, RTDBGMOD hDbgMod, RTDBGSEGIDX iSeg, RTUINTPTR SegAddr); 267 * @param fFlags See RTDBGASLINK_FLAGS_*. 268 */ 269 RTDECL(int) RTDbgAsModuleLinkSeg(RTDBGAS hDbgAs, RTDBGMOD hDbgMod, RTDBGSEGIDX iSeg, RTUINTPTR SegAddr, uint32_t fFlags); 234 270 235 271 /** … … 414 450 * @{ 415 451 */ 416 RTDECL(int) RTDbgModCreate(PRTDBGMOD phDbgMod, const char *pszName, const char *pszImgFile, const char *pszDbgFile); 417 RTDECL(int) RTDbgModDestroy(RTDBGMOD hDbgMod); 452 RTDECL(int) RTDbgModCreate(PRTDBGMOD phDbgMod, const char *pszName, RTUINTPTR cb, uint32_t fFlags); 453 RTDECL(int) RTDbgModCreateFromImage(PRTDBGMOD phDbgMod, const char *pszFilename, const char *pszName, uint32_t fFlags); 454 RTDECL(int) RTDbgModCreateFromMap(PRTDBGMOD phDbgMod, const char *pszFilename, const char *pszName, RTUINTPTR uSubtrahend, uint32_t fFlags); 418 455 RTDECL(uint32_t) RTDbgModRetain(RTDBGMOD hDbgMod); 419 456 RTDECL(uint32_t) RTDbgModRelease(RTDBGMOD hDbgMod);
Note:
See TracChangeset
for help on using the changeset viewer.