Core/NG bit bucket
Random thoughts and information...
What's in a 6-STABLE core file
- struct prstatus, contains such things as:
- PID
- Signal
- struct reg
- struct fpreg
- struct prpsinfo, contains such things as:
- Command-line
Note elements that contain these 3 structures have the name "FreeBSD". The types are NT_PRSTATUS (=1), NT_FPREGSET (=2) and NT_PRPSINFO (=3) respectively.
What's in a Core/NG core file for processes
- Process-wide information, such as:
- PID
- Command-line
- thread count
- Shared object information
- Per-thread information, such as:
- LWPID
- Signal
- struct reg
- struct fpreg;
- struct dbreg;
- TLS information
- [i386]: struct xmmreg;
- [ia64]: struct rsereg;
The note elements used for these two groups of information have the name "FreeBSD". The types are NT_CORE_PROC (=0x00040000) and NT_CORE_THREAD (=0x00040001).
What's in a Core/NG core file for a kernel
- Kernel-wide information, such as:
- Physical load address
- Kernel module information
- Per-CPU information, such as:
- Register contents
- Current TLB registers
- Dump of memory cache
The note elements used for these two groups of information have the name "FreeBSD". The types are NT_CORE_KERNEL (=0x00040100) and NT_CORE_CPU (=0x00040101).