GNU PROLOG with UTF8 support
Data Structures | Macros | Typedefs | Functions | Variables
debugger_c.c File Reference
#include <string.h>
#include <stdlib.h>
#include <setjmp.h>
#include "engine_pl.h"
#include "bips_pl.h"
Include dependency graph for debugger_c.c:

Data Structures

struct  InfCmd
 

Macros

#define OBJ_INIT   Debug_Initializer
 
#define BANK_NAME_OFFSET_LENGTH   15
 
#define HEXADECIMAL_LENGTH   20
 
#define DECIMAL_LENGTH   21
 
#define VALUE_PART_LENGTH   BANK_NAME_OFFSET_LENGTH
 
#define SEPARATOR_LIST   " ,[]\n"
 
#define INIT_DEBUGGER   X1_24696E69745F6465627567676572
 
#define DEBUG_CALL   X1_2464656275675F63616C6C
 
#define L(str)   Pl_Stream_Printf(pstm_o, "%s\n", str)
 

Typedefs

typedef Bool(* FctPtr) ()
 

Functions

static void My_System_Directives (void)
 
static void Scan_Command (char *source_str)
 
static FctPtr Find_Function (void)
 
static Bool Write_Data_Modify (void)
 
static Bool Where (void)
 
static Bool What (void)
 
static Bool Dereference (void)
 
static Bool Environment (void)
 
static Bool Backtrack (void)
 
static WamWordRead_Bank_Adr (Bool only_stack, int arg_nb, char **bank_name)
 
static PlLong Read_An_Integer (int arg_nb)
 
static void Print_Bank_Name_Offset (char *prefix, char *bank_name, int offset)
 
static void Print_Wam_Word (WamWord *word_adr)
 
static void Modify_Wam_Word (WamWord *word_adr)
 
static WamWordDetect_Stack (WamWord *adr, char **stack_name)
 
static PredInfDetect_Pred_From_Code (PlLong *codep)
 
static Bool Help (void)
 
 Prolog_Prototype (INIT_DEBUGGER, 0)
 
 Prolog_Prototype (DEBUG_CALL, 2)
 
static void Debug_Initializer (void)
 
void Pl_Set_Debug_Call_Code_0 (void)
 
void Pl_Reset_Debug_Call_Code_0 (void)
 
void Pl_Remove_One_Choice_Point_1 (WamWord b_word)
 
void Pl_Choice_Point_Info_4 (WamWord b_word, WamWord name_word, WamWord arity_word, WamWord lastb_word)
 
Bool Pl_Scan_Choice_Point_Info_3 (WamWord b_word, WamWord name_word, WamWord arity_word)
 
void Pl_Choice_Point_Arg_3 (WamWord b_word, WamWord i_word, WamWord arg_word)
 
static int Debugger_SIGSEGV_Handler (void *bad_addr)
 
void Pl_Debug_Wam (void)
 

Variables

WamCont pl_debug_call_code
 
static int nb_read_arg
 
static char read_arg [30][80]
 
static char * envir_name [] = ENVIR_NAMES
 
static char * choice_name [] = CHOICE_NAMES
 
static char * trail_tag_name [] = TRAIL_TAG_NAMES
 
static WamWord reg_copy [NB_OF_REGS]
 
static StmInfpstm_i
 
static StmInfpstm_o
 
static sigjmp_buf dbg_jumper
 
static void * invalid_addr
 

Macro Definition Documentation

#define BANK_NAME_OFFSET_LENGTH   15
#define DEBUG_CALL   X1_2464656275675F63616C6C
#define DECIMAL_LENGTH   21
#define HEXADECIMAL_LENGTH   20
#define INIT_DEBUGGER   X1_24696E69745F6465627567676572
#define L (   str)    Pl_Stream_Printf(pstm_o, "%s\n", str)
#define OBJ_INIT   Debug_Initializer
#define SEPARATOR_LIST   " ,[]\n"
#define VALUE_PART_LENGTH   BANK_NAME_OFFSET_LENGTH

Typedef Documentation

typedef Bool(* FctPtr) ()

Function Documentation

static Bool Backtrack ( void  )
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void Debug_Initializer ( void  )
static

Here is the call graph for this function:

static int Debugger_SIGSEGV_Handler ( void *  bad_addr)
static

Here is the caller graph for this function:

static Bool Dereference ( void  )
static

Here is the call graph for this function:

Here is the caller graph for this function:

static PredInf * Detect_Pred_From_Code ( PlLong codep)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static WamWord * Detect_Stack ( WamWord adr,
char **  stack_name 
)
static

Here is the caller graph for this function:

static Bool Environment ( void  )
static

Here is the call graph for this function:

Here is the caller graph for this function:

static FctPtr Find_Function ( void  )
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Help ( void  )
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void Modify_Wam_Word ( WamWord word_adr)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void My_System_Directives ( void  )
static

Here is the call graph for this function:

Here is the caller graph for this function:

void Pl_Choice_Point_Arg_3 ( WamWord  b_word,
WamWord  i_word,
WamWord  arg_word 
)

Here is the call graph for this function:

void Pl_Choice_Point_Info_4 ( WamWord  b_word,
WamWord  name_word,
WamWord  arity_word,
WamWord  lastb_word 
)

Here is the call graph for this function:

void Pl_Debug_Wam ( void  )

Here is the call graph for this function:

void Pl_Remove_One_Choice_Point_1 ( WamWord  b_word)
void Pl_Reset_Debug_Call_Code_0 ( void  )
Bool Pl_Scan_Choice_Point_Info_3 ( WamWord  b_word,
WamWord  name_word,
WamWord  arity_word 
)

Here is the call graph for this function:

void Pl_Set_Debug_Call_Code_0 ( void  )
static void Print_Bank_Name_Offset ( char *  prefix,
char *  bank_name,
int  offset 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void Print_Wam_Word ( WamWord word_adr)
static

Here is the call graph for this function:

Here is the caller graph for this function:

Prolog_Prototype ( INIT_DEBUGGER  ,
 
)
Prolog_Prototype ( DEBUG_CALL  ,
 
)
static PlLong Read_An_Integer ( int  arg_nb)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static WamWord * Read_Bank_Adr ( Bool  only_stack,
int  arg_nb,
char **  bank_name 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void Scan_Command ( char *  source_str)
static

Here is the caller graph for this function:

static Bool What ( void  )
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Where ( void  )
static

Here is the call graph for this function:

Here is the caller graph for this function:

static Bool Write_Data_Modify ( void  )
static

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

char* choice_name[] = CHOICE_NAMES
static
sigjmp_buf dbg_jumper
static
char* envir_name[] = ENVIR_NAMES
static
void* invalid_addr
static
int nb_read_arg
static
WamCont pl_debug_call_code
StmInf* pstm_i
static
StmInf* pstm_o
static
char read_arg[30][80]
static
WamWord reg_copy[NB_OF_REGS]
static
char* trail_tag_name[] = TRAIL_TAG_NAMES
static