/* Core file format: The core file is written in such a way that gdb canunderstanditandprovideusefulinformationtotheuser(under linuxweusethe'trad-core'bfd).Therearequiteanumberof obstaclestobeingabletoviewthecontentsofthefloatingpoint registers,anduntilthesearesolvedyouwillnotbeabletoviewthe contentsofthem.Actually,youcanreadinthecorefileandlookat thecontentsoftheuserstructtofindoutwhatthefloatingpoint registerscontain. Theactualfilecontentsareasfollows: UPAGE:1pageconsistingofauserstructthattellsgdbwhatispresent inthefile.Directlyafterthisisacopyofthetask_struct,which iscurrentlynotusedbygdb,butitmaycomeinusefulatsomepoint. Alloftheregistersarestoredaspartoftheupage.Theupageshould alwaysbeonlyonepage. DATA:Thedataareaisstored.Weusecurrent->end_textto current->brktopickupalloftheuservariables,plusanymemory thatmayhavebeenmalloced.Noattemptismadetodetermineifapage isdemand-zeroorifapageistotallyunused,wejustcovertheentire range.Alloftheaddressesareroundedinsuchawaythatanintegral numberofpagesiswritten. STACK:Weneedthestackinformationinordertogetameaningful backtrace.Weneedtowritethedatafrom(esp)to current->start_stack,soweroundeachoftheseoffinordertobeable towriteanintegernumberofpages. Theminimumcorefilesizeis3pages,or12288bytes.
*/
/* This is the old layout of "struct pt_regs" as of Linux 1.x, and isstillthelayoutusedbyuser(thenewpt_regsdoesn'thave
all registers). */ struct user_regs_struct { long d1,d2,d3,d4,d5,d6,d7; long a0,a1,a2,a3,a4,a5,a6; long d0; long usp; long orig_d0; short stkadj; short sr; long pc; short fmtvec; short __fill;
};
/* When the kernel dumps core, it starts by dumping the user struct - thiswillbeusedbygdbtofigureoutwherethedataandstacksegments
are within the file, and what virtual addresses to use. */ struct user{ /* We start with the registers, to mimic the way that "memory" is returned
from the ptrace(3,...) function. */ struct user_regs_struct regs; /* Where the registers are actually stored */ /* ptrace does not yet supply these. Someday.... */ int u_fpvalid; /* True if math co-processor being used. */ /* for this mess. Not yet used. */ struct user_m68kfp_struct m68kfp; /* Math Co-processor registers. */ /* The rest of this junk is to help gdb figure out what goes where */ unsignedlongint u_tsize; /* Text segment size (pages). */ unsignedlongint u_dsize; /* Data segment size (pages). */ unsignedlongint u_ssize; /* Stack segment size (pages). */ unsignedlong start_code; /* Starting virtual address of text. */ unsignedlong start_stack; /* Starting virtual address of stack area. Thisisactuallythebottomofthestack, thetopofthestackisalwaysfoundinthe
esp register. */ longint signal; /* Signal that caused the core dump. */ int reserved; /* No longer used */ unsignedlong u_ar0; /* Used by gdb to help find the values for */ /* the registers. */ struct user_m68kfp_struct* u_fpstate; /* Math Co-processor pointer. */ unsignedlong magic; /* To uniquely identify a core file */ char u_comm[32]; /* User command that was responsible */
};
#endif
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-09-30)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.