remake  4.3+dbg-1.5
Data Structures | Typedefs | Enumerations | Functions | Variables
trace.h File Reference

Header for routines related to tracing and debugging support. More...

#include "types.h"
#include "filedef.h"

Go to the source code of this file.

Data Structures

struct  target_stack_node
 Node for an item in the target call stack. More...
 
struct  floc_stack_node
 Node for an item in the "include Makefile" stack. More...
 

Typedefs

typedef struct target_stack_node target_stack_node_t
 Node for an item in the target call stack. More...
 
typedef struct floc_stack_node floc_stack_node_t
 Node for an item in the "include Makefile" stack. More...
 

Enumerations

enum  debug_return_t {
  continue_execution, next_execution, skip_execution, debug_readloop,
  debug_cmd_error
}
 
enum  debug_enter_reason_t {
  DEBUG_BRKPT_BEFORE_PREREQ = 0, DEBUG_BRKPT_AFTER_PREREQ = 1, DEBUG_BRKPT_AFTER_CMD = 2, DEBUG_GOAL_UPDATED_HIT = 3,
  DEBUG_READ_HIT = 4, DEBUG_ERROR_HIT = 5, DEBUG_STEP_HIT = 6, DEBUG_STEP_COMMAND = 7,
  DEBUG_EXPLICIT_CALL = 8, DEBUG_STACK_CHANGING = 99, DEBUG_NOT_GIVEN = 100
}
 
enum  info_target_output_mask_t {
  INFO_TARGET_POSITION = 1, INFO_TARGET_NAME = 2, INFO_TARGET_POSITION_AND_NAME = 3, INFO_TARGET_TASKS = 4,
  INFO_TARGET_TASK_COMMENT = 8, INFO_TARGET_TASKS_WITH_COMMENTS = 12
}
 

Functions

target_stack_node_ttrace_push_target (target_stack_node_t *p, file_t *p_target)
 
void trace_pop_target (target_stack_node_t *p)
 
void trace_push_floc (gmk_floc *p_floc)
 
void trace_pop_floc (void)
 
void dbg_cmd_info_targets (info_target_output_mask_t output_mask)
 
void dbg_cmd_info_tasks ()
 

Variables

target_stack_node_tp_stack_top
 
floc_stack_node_tp_stack_floc_top
 

Detailed Description

Header for routines related to tracing and debugging support.

Typedef Documentation

◆ floc_stack_node_t

Node for an item in the "include Makefile" stack.

◆ target_stack_node_t

Node for an item in the target call stack.

debugger command interface.

A call "stack". Well, since we'll have to deal with multiple child "jobs" it's not really a stack but a tree.

Enumeration Type Documentation

◆ debug_enter_reason_t

Enumerator
DEBUG_BRKPT_BEFORE_PREREQ 
DEBUG_BRKPT_AFTER_PREREQ 
DEBUG_BRKPT_AFTER_CMD 
DEBUG_GOAL_UPDATED_HIT 
DEBUG_READ_HIT 
DEBUG_ERROR_HIT 
DEBUG_STEP_HIT 
DEBUG_STEP_COMMAND 
DEBUG_EXPLICIT_CALL 
DEBUG_STACK_CHANGING 
DEBUG_NOT_GIVEN 

◆ debug_return_t

Enumerator
continue_execution 

Get out of debug read loop and continue execution as normal.

next_execution 

Get out of debug read loop and continue execution as but don't enter debugger for the any remaining commands.

skip_execution 

Get out of debug read loop, but skip execution of next command or action.

debug_readloop 

Stay in debugger read loop - used only inside debugger read loop.

debug_cmd_error 

Command error but stay in debugger read loop - used only inside debugger read loop.

◆ info_target_output_mask_t

Enumerator
INFO_TARGET_POSITION 
INFO_TARGET_NAME 
INFO_TARGET_POSITION_AND_NAME 
INFO_TARGET_TASKS 
INFO_TARGET_TASK_COMMENT 
INFO_TARGET_TASKS_WITH_COMMENTS 

Function Documentation

◆ dbg_cmd_info_targets()

void dbg_cmd_info_targets ( info_target_output_mask_t  output_mask)

Show just a list of targets

References dbg_target_compare(), files, and hash_table::ht_fill.

Referenced by dbg_cmd_info().

◆ dbg_cmd_info_tasks()

void dbg_cmd_info_tasks ( )

Show just a list of tasks

References dbg_target_compare(), file::description, files, hash_table::ht_fill, and file::name.

Referenced by dbg_cmd_info().

◆ trace_pop_floc()

void trace_pop_floc ( void  )

Pop the next floc from the call stack..

◆ trace_pop_target()

void trace_pop_target ( target_stack_node_t p)

Pop the next target from the call stack..

◆ trace_push_floc()

void trace_push_floc ( gmk_floc p_floc)

Push "p_floc" to the floc stack. Return the new stack top.

◆ trace_push_target()

target_stack_node_t* trace_push_target ( target_stack_node_t p,
file_t p_target 
)

Push "p_target" to the call stack. Return the new stack top. if b_debugger is true we might enter the debugger.

Variable Documentation

◆ p_stack_floc_top

floc_stack_node_t* p_stack_floc_top

Pointer to top of current target floc stack

Referenced by dbg_cmd_where().

◆ p_stack_top

target_stack_node_t* p_stack_top

Pointer to top of current target call stack

Referenced by dbg_cmd_info(), dbg_cmd_info_line(), and dbg_cmd_where().