fujitsu / crash-gcore Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v2.0
License: GNU General Public License v2.0
Author: HATAYAMA, Daisuke <[email protected]> Summary ~~~~~~~ gcore extension module provides a means to create ELF core dump for user-mode process that is contained within crash kernel dump, designed to behave as kernel's ELF core dumper. Support Range ~~~~~~~~~~~~~ | ARCH | X86, X86_64 | | Kernel Version | RHEL4.8, RHEL5.5, RHEL6.0 and Vanilla 2.6.36 | External Link ~~~~~~~~~~~~~ - crash utility - http://people.redhat.com/anderson/ - crash extension modules - http://people.redhat.com/anderson/extensions.html TODO ~~~~ - Improvement on register collection for active tasks - Improvement on callee-saved register collection on x86_64 - Support tasks running in IA32e compatibility mode Help ~~~~ NAME gcore - gcore - retrieve a process image as a core dump SYNOPSIS gcore gcore [-v vlevel] [-f filter] [pid | taskp]* This command retrieves a process image as a core dump. DESCRIPTION -v Display verbose information according to vlevel: progress library error page fault --------------------------------------- 0 1 x 2 x 4 x (default) 7 x x x -f Specify kinds of memory to be written into core dumps according to the filter flag in bitwise: AP AS FP FS ELF HP HS ------------------------------ 0 1 x 2 x 4 x 8 x 16 x x 32 x 64 x 127 x x x x x x x AP Anonymous Private Memory AS Anonymous Shared Memory FP File-Backed Private Memory FS File-Backed Shared Memory ELF ELF header pages in file-backed private memory areas HP Hugetlb Private Memory HS Hugetlb Shared Memory If no pid or taskp is specified, gcore tries to retrieve the process image of the current task context. The file name of a generated core dump is core.<pid> where pid is PID of the specified process. For a multi-thread process, gcore generates a core dump containing information for all threads, which is similar to a behaviour of the ELF core dumper in Linux kernel. Notice the difference of PID on between crash and linux that ps command in crash utility displays LWP, while ps command in Linux thread group tid, precisely PID of the thread group leader. gcore provides core dump filtering facility to allow users to select what kinds of memory maps to be included in the resulting core dump. There are 7 kinds memory maps in total, and you can set it up with set command. For more detailed information, please see a help command message. EXAMPLES Specify the process you want to retrieve as a core dump. Here assume the process with PID 12345. crash> gcore 12345 Saved core.12345 crash> Next, specify by TASK. Here assume the process placing at the address f9d7000 with PID 32323. crash> gcore f9d78000 Saved core.32323 crash> If multiple arguments are given, gcore performs dumping process in the order the arguments are given. crash> gcore 5217 ffff880136d72040 23299 24459 ffff880136420040 Saved core.5217 Saved core.1130 Saved core.1130 Saved core.24459 Saved core.30102 crash> If no argument is given, gcore tries to retrieve the process of the current task context. crash> set PID: 54321 COMMAND: "bash" TASK: e0000040f80c0000 CPU: 0 STATE: TASK_INTERRUPTIBLE crash> gcore Saved core.54321 When a multi-thread process is specified, the generated core file name has the thread leader's PID; here it is assumed to be 12340. crash> gcore 12345 Saved core.12340 It is not allowed to specify two same options at the same time. crash> gcore -v 1 1234 -v 1 Usage: gcore gcore [-v vlevel] [-f filter] [pid | taskp]* gcore -d Enter "help gcore" for details. It is allowed to specify -v and -f options in a different order. crash> gcore -v 2 5201 -f 21 ffff880126ff9520 5205 Saved core.5174 Saved core.5217 Saved core.5167 crash> gcore 5201 ffff880126ff9520 -f 21 5205 -v 2 Saved core.5174 Saved core.5217 Saved core.5167
很多都被防火墙污染了,越来越难用了
你们难道不能换别的免费的吗?
Dear experts,
crash report the below error messages when loading gcore.so based on arm64
crash> extend git/crash-gcore-command-1.6.4/gcore.so
extend: git/crash-gcore-command-1.6.4/gcore.so: undefined symbol: unwind
Gcore version: v1.6.3
Crash utility version: 8.0.0
Failed logs:
crash> extend gcore.so
crash-8.0.0/extensions/gcore.so: shared object loaded
crash> set 4615
PID: 4615
COMMAND: "Binder:1413_4"
TASK: ffffff89354a3780 [THREAD_INFO: ffffff89354a3780]
CPU: 1
STATE: TASK_INTERRUPTIBLE
crash> bt
PID: 4615 TASK: ffffff89354a3780 CPU: 1 COMMAND: "Binder:1413_4"
#0 [ffffffc02c7ebb50] __switch_to at ffffffd3c2c73768
#1 [ffffffc02c7ebbb0] __schedule at ffffffd3c4802470
#2 [ffffffc02c7ebc10] schedule at ffffffd3c4802b24
#3 [ffffffc02c7ebc30] futex_wait_queue_me at ffffffd3c2e93344
#4 [ffffffc02c7ebd30] futex_wait at ffffffd3c2e8de90
#5 [ffffffc02c7ebda0] do_futex at ffffffd3c2e8dc3c
#6 [ffffffc02c7ebde0] __arm64_sys_futex at ffffffd3c2e96d70
#7 [ffffffc02c7ebe50] el0_svc_common at ffffffd3c2c8ddd8
#8 [ffffffc02c7ebe90] el0_svc at ffffffd3c4446388
#9 [ffffffc02c7ebea0] el0_sync_handler at ffffffd3c44462fc
#10 [ffffffc02c7ebfe0] el0_sync at ffffffd3c2c12070
PC: 0000006fef32df34 LR: 0000006fef332800 SP: 0000006f2a603670
X29: 0000006f2a603690 X28: 0000000000000000 X27: 0000000000000585
X26: 0000006f2a604000 X25: 0000000000000019 X24: 0000006f2a604000
X23: 0000006f2a603fb0 X22: 0000000000000089 X21: b400006f4ce695c0
X20: 0000000000000000 X19: 0000000000000000 X18: 0000006f1f3c0000
X17: 0000006fef32df10 X16: 0000006fef3a6ca8 X15: 000000463f3a907d
X14: 000000000075e714 X13: 000000007fffffff X12: 0000006ff72e2030
X11: 0000000000000000 X10: 0000000000000009 X9: 0000000000000089
X8: 0000000000000062 X7: 7f7f7f7f7f7f7f7f X6: 00000000ffffffff
X5: 00000000ffffffff X4: 0000000000000000 X3: 0000000000000000
X2: 0000000000000000 X1: 0000000000000089 X0: b400006f4ce695c0
ORIG_X0: b400006f4ce695c0 SYSCALLNO: 62 PSTATE: 40001000
crash> gcore -v 0
double free or corruption (!prev)
Aborted
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.