Units | Class Hierarchy | Classes, Interfaces and Objects | Types | Variables | Constants | Functions and Procedures | Identifiers

# Class TIFPSCustomDebugExec

## Unit

ifps3debug

## Declaration

`type TIFPSCustomDebugExec = class(`TIFPSExec`)`

## Description

The TIFPSCustomDebugExec class is used to load and use compiler debug information

## Hierarchy

`TIFPSExec`

## Fields

| Name | Description
--- | --- | ---
| `FCurrentCol` |
| `FCurrentDebugProc` |
| `FCurrentPos` |
| `FCurrentRow` |
| `FDebugDataForProcs` |
| `FGlobalVarNames` |
| `FLastProc` |
| `FProcNames` |

## Methods

### Overview

| `constructor Create;`
| `destructor Destroy; override;`
| `procedure Clear; override;`
| `procedure ClearDebug; virtual;`
| `function GetCurrentPosition: Cardinal;`
| `function GetCurrentProcNo: Cardinal;`
| `function GetCurrentProcParams: TIfStringList;`
| `function GetCurrentProcVars: TIfStringList;`
| `function GetGlobalVar(I: Cardinal): PIfVariant;`
| `function GetProcParam(I: Cardinal): PIfVariant;`
| `function GetProcVar(I: Cardinal): PIfVariant;`
| `procedure LoadDebugData(const Data: string);`
| `function TranslatePosition(Proc, Position: Cardinal): Cardinal;`
| `function TranslatePositionEx(Proc, Position: Cardinal; var Pos, Row, Col: Cardinal): Boolean;`

### Description

| `constructor Create;`

Create an instance of the debugger

| `destructor Destroy; override;`

destroy the current instance of the debugger

| `procedure Clear; override;`

Clear the debugdata and the current script

| `procedure ClearDebug; virtual;`

| `function GetCurrentPosition: Cardinal;`

Get the current position

| `function GetCurrentProcNo: Cardinal;`

The current proc no

| `function GetCurrentProcParams: TIfStringList;`

| `function GetCurrentProcVars: TIfStringList;`

| `function GetGlobalVar(I: Cardinal): PIfVariant;`

Get global variable no I

| `function GetProcParam(I: Cardinal): PIfVariant;`

Get proc param no I

| `function GetProcVar(I: Cardinal): PIfVariant;`

Get Proc variable no I

| `procedure LoadDebugData(const Data: string);`

Load debug data in the scriptengine

| `function TranslatePosition(Proc, Position: Cardinal): Cardinal;`

Translate a position to a real position

| `function TranslatePositionEx(Proc, Position: Cardinal; var Pos, Row, Col: Cardinal): Boolean;`

Translate a position into a row, col and offset

## Properties

### Overview

| `property CurrentProcParams: TIfStringList;`
| `property CurrentProcVars: TIfStringList;`
| `property GlobalVarNames: TIfStringList;`
| `property ProcNames: TIfStringList;`

### Description

| `property CurrentProcParams: TIfStringList;`

The paramters of the current proc (could be nil)

| `property CurrentProcVars: TIfStringList;`

The variables in the current proc (could be nil)

| `property GlobalVarNames: TIfStringList;`

Contains the names of the global variables

| `property ProcNames: TIfStringList;`

Contains the names of the procedures