467fe4ca0c
* Add function core_dump_write_core_file(). It writes a core file for the current thread's team. The file format is similar to that of other OSs (i.e. ELF with PT_LOAD segments and a PT_NOTE segment), but most of the notes are Haiku specific (infos for team, areas, images, threads). More data will probably need to be added. * Add team flag TEAM_FLAG_DUMP_CORE, thread flag THREAD_FLAGS_TRAP_FOR_CORE_DUMP, and Team property coreDumpCondition, a condition variable available while a core dump is progress. A thread that finds its flag THREAD_FLAGS_TRAP_FOR_CORE_DUMP set before exiting the kernel to userland calls core_dump_trap_thread(), which blocks on the condition variable until the core dump has finished. We need the team's threads to stop so we can get their CPU state (and have a generally unchanging team state while writing the core file). * Add user debugger message B_DEBUG_WRITE_CORE_FILE. It causes core_dump_write_core_file() to be called for the team. * Dumping core as an immediate effect of a terminal signal has not been implemented yet, but that should be fairly straight forward. |
||
---|---|---|
.. | ||
arch | ||
posix | ||
architecture_private.h | ||
commpage_defs.h | ||
computed_asm_macros.h | ||
convertutf.h | ||
ddm_userland_interface_defs.h | ||
device_manager_defs.h | ||
directories.h | ||
disk_device_types.h | ||
elf_private.h | ||
extended_system_info_defs.h | ||
find_directory_private.h | ||
generic_syscall_defs.h | ||
image_defs.h | ||
node_monitor_private.h | ||
pe_common.h | ||
real_time_data.h | ||
safemode_defs.h | ||
scheduler_defs.h | ||
signal_defs.h | ||
spinlock_contention.h | ||
symbol_versioning.h | ||
syscall_process_info.h | ||
syscalls.h | ||
system_info.h | ||
system_profiler_defs.h | ||
thread_defs.h | ||
tls.h | ||
user_mutex_defs.h | ||
user_runtime.h | ||
user_thread_defs.h | ||
user_timer_defs.h | ||
vfs_defs.h | ||
vm_defs.h |