RTEMS 6.1-rc5
|
Files | |
file | stackchk.h |
This header file provides the Stack Checker API. | |
file | check.c |
This file contains the Stack Overflow Check user extension set. | |
Data Structures | |
struct | rtems_stack_checker_info |
Stack information provided by the stack checker. More... | |
Macros | |
#define | RTEMS_STACK_CHECKER_EXTENSION |
Stack Checker Extension Set Definition. | |
Typedefs | |
typedef void(* | rtems_stack_checker_visitor) (const rtems_stack_checker_info *info, void *arg) |
Visitor routines invoked by rtems_stack_checker_iterate() shall have this type. | |
typedef void(* | Stack_checker_Reporter_handler) (const rtems_tcb *running, bool pattern_ok) |
The Stack Checker Reporter Initialization Handler. | |
Functions | |
bool | rtems_stack_checker_is_blown (void) |
Checks if current task is blown its stack. | |
void | rtems_stack_checker_report_usage (void) |
Print the stack usage report using printk. | |
void | rtems_stack_checker_report_usage_with_plugin (const rtems_printer *printer) |
Print the stack usage report using caller's routine. | |
void | rtems_stack_checker_iterate (rtems_stack_checker_visitor visit, void *arg) |
Iterates over all stacks used by the system and invokes the visitor routine for each stack. | |
bool | rtems_stack_checker_create_extension (rtems_tcb *running, rtems_tcb *the_thread) |
Stack Checker Task Create Extension. | |
void | rtems_stack_checker_begin_extension (rtems_tcb *executing) |
void | rtems_stack_checker_switch_extension (rtems_tcb *running, rtems_tcb *heir) |
Stack Checker Task Context Switch Extension. | |
void | rtems_stack_checker_reporter_quiet (const rtems_tcb *running, bool pattern_ok) |
A Quiet Version of Stack Checker Reporter. | |
void | rtems_stack_checker_reporter_print_details (const rtems_tcb *running, bool pattern_ok) |
The Default Function to Report a Blown Stack. | |
Variables | |
const Stack_checker_Reporter_handler | Stack_checker_Reporter |
The Stack Checker Reporter Initialization Handler. | |
#define RTEMS_STACK_CHECKER_EXTENSION |
Stack Checker Extension Set Definition.
This macro defines the user extension handler set for the stack checker. This macro is normally only used by confdefs.h.
typedef void(* rtems_stack_checker_visitor) (const rtems_stack_checker_info *info, void *arg) |
Visitor routines invoked by rtems_stack_checker_iterate() shall have this type.
[in] | info | is the stack information. |
[in] | arg | is the argument passed to rtems_stack_checker_iterate(). |
typedef void(* Stack_checker_Reporter_handler) (const rtems_tcb *running, bool pattern_ok) |
The Stack Checker Reporter Initialization Handler.
[in] | running | running points to the currently executing thread which is being context switched out. |
[in] | pattern_ok | bool variable to check if the pattern is still valid or not. |
Stack Checker Task Create Extension.
This method is the task create extension for the stack checker.
[in] | running | points to the currently executing task |
[in] | the_thread | points to the newly created task |
bool rtems_stack_checker_is_blown | ( | void | ) |
Checks if current task is blown its stack.
This method is used to determine if the current stack pointer of the currently executing task is within bounds.
This | method returns true if the currently executing task has blown its stack. |
void rtems_stack_checker_iterate | ( | rtems_stack_checker_visitor | visit, |
void * | arg | ||
) |
Iterates over all stacks used by the system and invokes the visitor routine for each stack.
This method prints a stack usage report for the curently executing task.
[in] | visitor | is the visitor routine invoked for each stack. |
[in] | arg | is the argument passed to each visitor routine invocation during the iteration. |
void rtems_stack_checker_report_usage | ( | void | ) |
Print the stack usage report using printk.
This method prints a stack usage report for the curently executing task.
void rtems_stack_checker_report_usage_with_plugin | ( | const rtems_printer * | printer | ) |
Print the stack usage report using caller's routine.
This method prints a stack usage report for the curently executing task.
[in] | context | is the context to pass to the print handler |
[in] | is the print handler |
void rtems_stack_checker_reporter_print_details | ( | const rtems_tcb * | running, |
bool | pattern_ok | ||
) |
The Default Function to Report a Blown Stack.
[in] | running | running points to the currently executing thread which is being context switched out. |
[in] | pattern_ok | bool variable to check if the pattern is still valid or not |
void rtems_stack_checker_reporter_quiet | ( | const rtems_tcb * | running, |
bool | pattern_ok | ||
) |
A Quiet Version of Stack Checker Reporter.
[in] | running | running points to the currently executing thread which is being context switched out. |
[in] | pattern_ok | bool variable to check if the pattern is still valid or not |
Stack Checker Task Context Switch Extension.
This method is the task context switch extension for the stack checker.
[in] | running | points to the currently executing task which is being context switched out |
[in] | heir | points to the heir task which we are switching to |
|
extern |
The Stack Checker Reporter Initialization Handler.
Application provided via <rtems/confdefs.h>