Sometimes, applications stop working and crash for any reason. A core file appears in scene.
First, we’re going to set a PATH for all cores files on the system using syscorepath command.
In order to do this, We’re going to:
1- Create and mount a new filesystem /corefiles
1.1- Create the new filesytem:
|
1
2
3
4
|
# crfs -v jfs2 -g volgrp2 -m /home/pipe -A yes -a size=1GFile system created successfully.1048340 kilobytes total disk space.New File System size is 2097152 |
1.2- Mount the filesystem:
|
1
|
# mount /corefiles |
2- Using syscorepath command, we’ll set a PATH where all these cores files will be dumped..
2.1- Set the directory for all cores files:
|
1
|
# syscorepath -p /corefiles |
2.2- To check if the core’s PATH was correctly set, running:
|
1
2
|
# syscorepath -g /corefiles# /corefiles |
3- Analize the core file using dbx command.
Once you get all cores in /corefiles, we’re going to analyse them using dbx command. Follow these steps:
3.1- Get the cause of the core file by running check_core command. In the example ksh93 is the victim:
|
1
2
|
# /usr/lib/ras/check_core /corefiles/core |tail -1ksh93 |
3.2- Debugging with dbx (Provides an environment to debug and run programs) command:
|
1
2
3
4
5
6
7
|
# dbx /usr/bin/ksh93 /corefiles/coreType 'help' for help.[using memory image in /corefiles/core]reading symbolic information ...warning: no source compiled with -gSegmentation fault in strlen at 0xd01058800xd0105880 (strlen) 89030000 lbz r8,0x0(r3) |
3.3- Once your are in dbx shell, type ‘where’
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
(dbx) wherestrlen() at 0xd0105880varsub() at 0x100475fccopyto(??, ??) at 0x100494c8sh_mactrim(??, ??) at 0x1004a5a0word_trim(??, ??) at 0x1000e340sh_exec(??, ??) at 0x1000ff88sh_exec(??, ??) at 0x1001043csh_exec(??, ??) at 0x1000ff50sh_exec(??, ??) at 0x10010470sh_exec(??, ??) at 0x1000fdccsh_exec(??, ??) at 0x1000fd94sh_exec(??, ??) at 0x1000fe08sh_exec(??, ??) at 0x1000fdb8sh_exec(??, ??) at 0x1000fe08sh_exec(??, ??) at 0x1000fdb8sh_exec(??, ??) at 0x100106d8sh_exec(??, ??) at 0x1000fdb8sh_exec(??, ??) at 0x1000fe08sh_exec(??, ??) at 0x1000fd94b_dot_cmd(??, ??, ??) at 0x10066e20sh_funct(??, ??, ??, ??, ??) at 0x1000e500sh_exec(??, ??) at 0x1000ee88sh_exec(??, ??) at 0x1000fd94sh_exec(??, ??) at 0x10010370sh_exec(??, ??) at 0x1000fdb8sh_exec(??, ??) at 0x1000fe98exfile(??, ??) at 0x10000ed8sh_main(??, ??, ??) at 0x100015dcpmain.main(??, ??) at 0x10000370 |
Or you can use others dbx’s commands. Please see man dbx.
|
1
2
3
4
5
6
7
|
</pre>(dbx) thread(dbx) map(dbx) func(dbx) dump(dbx) quit<pre> |
Just thanks if the post was helpful
Article Number: 512
Posted: Thu, Feb 21, 2019 8:06 PM
Last Updated: Thu, Feb 21, 2019 8:06 PM
Online URL: http://kb.ictbanking.net/article.php?id=512