Struct kernel::process::ProcessDebug[][src]

struct ProcessDebug {
    app_heap_start_pointer: Option<*const u8>,
    app_stack_start_pointer: Option<*const u8>,
    min_stack_pointer: *const u8,
    syscall_count: Cell<usize>,
    last_syscall: Cell<Option<Syscall>>,
    dropped_callback_count: Cell<usize>,
    restart_count: Cell<usize>,

State for helping with debugging apps.

These pointers and counters are not strictly required for kernel operation, but provide helpful information when an app crashes.


Where the process has started its heap in RAM.

Where the start of the stack is for the process. If the kernel does the PIC setup for this app then we know this, otherwise we need the app to tell us where it put its stack.

How low have we ever seen the stack pointer.

How many syscalls have occurred since the process started.

What was the most recent syscall.

How many callbacks were dropped because the queue was insufficiently long.

How many times this process has entered into a fault condition and the kernel has restarted it.

Auto Trait Implementations

impl !Send for ProcessDebug

impl !Sync for ProcessDebug