|
Turnstone Operating System
|
debug functions More...
#include <types.h>Classes | |
| union | debug_register_dr6_t |
| debug register dr6 More... | |
| union | debug_register_dr7_t |
| debug register dr7 More... | |
Macros | |
| #define | ___DEBUG_H 0 |
| #define | DEBUG_REGISTER_DR6_DEFAULT_VALUE 0xFFFF0FF0 |
| #define | DEBUG_REGISTER_DR7_DEFAULT_VALUE 0x00000400 |
Typedefs | |
| typedef union debug_register_dr6_t | debug_register_dr6_t |
| debug register dr6 | |
| typedef union debug_register_dr7_t | debug_register_dr7_t |
| debug register dr7 | |
Functions | |
| int8_t | debug_init (void) |
| initializes debug | |
| uint64_t | debug_get_symbol_address (const char_t *function_name) |
| gets function address by function name | |
| void | debug_put_single_time_breakpoint_at_address (uint64_t address) |
| puts 0xcc (int3) instruction to address | |
| void | debug_remove_single_time_breakpoint_from_address (uint64_t address) |
| removes 0xcc (int3) instruction from address | |
| void | debug_put_breakpoint_at_symbol (const char_t *function_name) |
| puts 0xcc (int3) instruction to function | |
| void | debug_remove_breakpoint_from_symbol (const char_t *function_name) |
| removes 0xcc (int3) instruction from function | |
| uint8_t | debug_get_original_byte (uint64_t address) |
| gets original byte from address | |
| void | debug_revert_original_byte_at_address (uint64_t address) |
| sets original byte to address | |
| void | debug_put_debug_for_address (uint64_t address) |
| sets dr0 to address and enables dr0 | |
| void | debug_remove_debug_for_address (uint64_t address) |
| disables dr0 | |
| void | debug_put_debug_for_symbol (const char_t *function_name) |
| sets dr0 to function and enables dr0 | |
debug functions
This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.
| #define ___DEBUG_H 0 |
Prevent multiple inclusion
gets original byte from address
| address | address to get original byte |
gets function address by function name
| function_name | function name |
| int8_t debug_init | ( | void | ) |
initializes debug
| void debug_put_breakpoint_at_symbol | ( | const char_t * | function_name | ) |
puts 0xcc (int3) instruction to function
| function_name | function name to put breakpoint |
| void debug_put_debug_for_address | ( | uint64_t | address | ) |
sets dr0 to address and enables dr0
| address | address to set dr0 |
| void debug_put_debug_for_symbol | ( | const char_t * | function_name | ) |
sets dr0 to function and enables dr0
| function_name | function name to set dr0 |
| void debug_put_single_time_breakpoint_at_address | ( | uint64_t | address | ) |
puts 0xcc (int3) instruction to address
| address | address to put breakpoint |
| void debug_remove_breakpoint_from_symbol | ( | const char_t * | function_name | ) |
removes 0xcc (int3) instruction from function
| function_name | function name to remove breakpoint |
| void debug_remove_debug_for_address | ( | uint64_t | address | ) |
disables dr0
| address | address to disable dr0 |
| void debug_remove_single_time_breakpoint_from_address | ( | uint64_t | address | ) |
removes 0xcc (int3) instruction from address
| address | address to remove breakpoint |
| void debug_revert_original_byte_at_address | ( | uint64_t | address | ) |
sets original byte to address
| address | address to set original byte |