#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"
#define STEP_HISTORY_MIN_SIZE 5 |
Referenced by gdb_stepHist_setSize().
#define STEP_HISTORY_DEFAULT_SIZE 200 |
void gdb_stepHist_clean | ( | void | ) |
clean all entries of the step history
- |
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
new_regs | add this register set of current CPU state to history |
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.
- |
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
newSize | new max. value of step history entries |
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
- |
References stepHistoryContainer::size.
Referenced by gdb_monitor_Rcmd().
struct stepHistoryContainer stepHistoryContainer = {STEP_HISTORY_DEFAULT_SIZE,0,NULL,NULL} [static] |