/* * These are the only things you should do on a core-file: use only these * functions to write out all the necessary info.
*/ externvoid dump_skip_to(struct coredump_params *cprm, unsignedlong to); externvoid dump_skip(struct coredump_params *cprm, size_t nr); externint dump_emit(struct coredump_params *cprm, constvoid *addr, int nr); externint dump_align(struct coredump_params *cprm, int align); int dump_user_range(struct coredump_params *cprm, unsignedlong start, unsignedlong len); externvoid vfs_coredump(const kernel_siginfo_t *siginfo);
/* * Logging for the coredump code, ratelimited. * The TGID and comm fields are added to the message.
*/
#define __COREDUMP_PRINTK(Level, Format, ...) \ do { \ char comm[TASK_COMM_LEN]; \ /* This will always be NUL terminated. */ \
memcpy(comm, current->comm, sizeof(comm)); \
printk_ratelimited(Level "coredump: %d(%*pE): " Format "\n", \
task_tgid_vnr(current), (int)strlen(comm), comm, ##__VA_ARGS__); \
} while (0) \
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.