arm_gdbstub_stephistory.c File Reference

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <stdint.h>
#include <errno.h>
#include <unistd.h>
#include "dbg_msg.h"
#include "jt_arm.h"
#include "arm_gdbstub.h"

Data Structures

Defines

Functions

Variables


Detailed Description


Define Documentation

#define STEP_HISTORY_MIN_SIZE   5

Referenced by gdb_stepHist_setSize().

#define STEP_HISTORY_DEFAULT_SIZE   200

Function Documentation

void gdb_stepHist_clean ( void   ) 

clean all entries of the step history

Parameters:
- 
Returns:
-

References stepHistoryContainer::first, stepHistoryContainer::last, stepHistoryElement::next, and stepHistoryContainer::num.

Referenced by gdb_action_continue(), gdb_main_loop(), gdb_monitor_Rcmd(), and gdb_restart().

void gdb_stepHist_add ( struct reg_set new_regs  ) 

add a new register set entry into step history

Parameters:
new_regs add this register set of current CPU state to history
Returns:
-

References stepHistoryContainer::first, stepHistoryElement::histCPU, stepHistoryContainer::last, stepHistoryElement::next, stepHistoryContainer::num, stepHistoryElement::prev, reg_set::Regs::r, reg_set::regs, and stepHistoryContainer::size.

Referenced by gdb_main_loop().

int gdb_stepHist_loopDetect ( void   ) 

Walk the stepping history to detect if we are inside of a loop and there is nothing that happens inside of this loop. e.g. while(1); while(bussy) {for(i=0;i<X;i++);} So it might be better signalize GDB to stop STEPPING.

Parameters:
- 
Return values:
0 no endless loop detected
1 endless loop detected

References stepHistoryElement::histCPU, stepHistoryContainer::last, stepHistoryContainer::num, stepHistoryElement::prev, reg_set::Regs::r, and reg_set::regs.

Referenced by gdb_main_loop().

void gdb_stepHist_setSize ( int  newSize  ) 

set a new value that descripes the maximum number of step history entries

Parameters:
newSize new max. value of step history entries
Returns:
-

References stepHistoryContainer::first, stepHistoryContainer::last, stepHistoryElement::next, stepHistoryContainer::num, stepHistoryElement::prev, stepHistoryContainer::size, and STEP_HISTORY_MIN_SIZE.

Referenced by gdb_monitor_Rcmd().

int gdb_stepHist_getSize ( void   ) 

collect the maximum number of step history entries

Parameters:
- 
Returns:
maximum of step history entries

References stepHistoryContainer::size.

Referenced by gdb_monitor_Rcmd().


Variable Documentation

struct stepHistoryContainer stepHistoryContainer = {STEP_HISTORY_DEFAULT_SIZE,0,NULL,NULL} [static]

This file is part of the documentation for JTAG-GDB Server for ARM .

Generated on Mon Feb 15 21:23:21 2010 by doxygen 1.6.2.