Added patch originally written by Ingo Weinhold:
- extended libdebug.so functionality to be able to get stack frames, current instruction pointer, etc. - changed the debug_server to be able to run as a simple BLooper - this saves some trouble when the app_server dies - the debug_server now prints out a stack crawl for the crashed team (without symbols, though - for that data to be helpful you should have a look at the loaded images (ie. where they start)) - the debug_server now also prints the team name when it kills it git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12882 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -32,6 +32,23 @@ ssize_t debug_read_memory(debug_context *context, const void *address,
|
||||
ssize_t debug_read_string(debug_context *context, const void *_address,
|
||||
char *buffer, size_t size);
|
||||
|
||||
status_t debug_get_cpu_state(debug_context *context, thread_id thread,
|
||||
debug_debugger_message *messageCode, debug_cpu_state *cpuState);
|
||||
|
||||
|
||||
// stack trace support
|
||||
|
||||
typedef struct debug_stack_frame_info {
|
||||
void *frame;
|
||||
void *parent_frame;
|
||||
void *return_address;
|
||||
} debug_stack_frame_info;
|
||||
|
||||
status_t debug_get_instruction_pointer(debug_context *context, thread_id thread,
|
||||
void **ip, void **stackFrameAddress);
|
||||
status_t debug_get_stack_frame(debug_context *context,
|
||||
void *stackFrameAddress, debug_stack_frame_info *stackFrameInfo);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
|
||||
Reference in New Issue
Block a user