mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-10-29 17:42:41 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| unit DbgIntfBaseTypes;
 | |
| (*                 DebuggerTypes
 | |
| 
 | |
|   Basic types for any Pascal debugger. (not just IDE)
 | |
| 
 | |
| *)
 | |
| {$mode objfpc}{$H+}
 | |
| 
 | |
| interface
 | |
| 
 | |
| uses
 | |
|   Classes, SysUtils;
 | |
| 
 | |
| type
 | |
|   (* TDBGPtr
 | |
|      datatype pointing to data on the target
 | |
|   *)
 | |
|   TDBGPtr = type QWord;
 | |
| 
 | |
|   (* TDbgSymbolKind
 | |
|      Enum of types that a value can have.
 | |
|   *)
 | |
| 
 | |
|   TDbgSymbolKind = (
 | |
|     skNone,          // undefined type
 | |
|     //skType         // Not a value, but a type description
 | |
|     //skUser,          // userdefined type, this sym refers to another sym defined elswhere
 | |
|     //--------------------------------------------------------------------------
 | |
|     skInstance,      // the main exe/dll, containing all other syms
 | |
|     skUnit,          // contains syms defined in this unit
 | |
|     skProcedure,     // an actual procedure, with an address // NOT just the type of a procedure
 | |
|     skFunction,
 | |
|     //--------------------------------------------------------------------------
 | |
|     //----------------- Basic types, these cannot have references or children
 | |
|     skSimple,        // Any of the below (in this group), the dbg does not know more detailed
 | |
|     skPointer,
 | |
|     skInteger,
 | |
|     skCardinal,
 | |
|     skBoolean,
 | |
|     skChar,
 | |
|     skFloat,
 | |
|     skString,
 | |
|     skAnsiString,
 | |
|     skCurrency,
 | |
|     skVariant,
 | |
|     skWideString,
 | |
|     //--------------------------------------------------------------------------
 | |
|     skEnum,       // Variable holding an enum / enum type
 | |
|     skEnumValue,  // a single element from an enum
 | |
|     skSet,
 | |
|     //--------------------------------------------------------------------------
 | |
|     skRecord,        // the address member is the relative location within the
 | |
|     skObject,        // structure: type TFoo=object end; // may also be reported as record
 | |
|     skClass,
 | |
|     skInterface,
 | |
|     //--------------------------------------------------------------------------
 | |
|     skArray,
 | |
|     //--------------------------------------------------------------------------
 | |
|     skRegister,       // the Address member is the register number
 | |
|     //--------------------------------------------------------------------------
 | |
|     skAddress       // untyped data at an address (differs from pointer, when being typecasted)
 | |
|   );
 | |
| 
 | |
| 
 | |
| implementation
 | |
| 
 | |
| end.
 | |
| 
 | 
