障害の初期切り分けとして、採取されたコアファイルからデバッガを使ってスタックトレースを採取します。
問題箇所の特定のために必須となります。
coreスタックトレースは、以下の手順で採取します。
採取方法(Solarisの場合)
スーパーユーザー権限でadbデバッガを起動します。
adb /opt/FJSVshnsk/sbin/プロセス名 coreファイル名(絶対パス)
例)以下は、directorプロセスがダウンした場合の例です。
adb /opt/FJSVshnsk/sbin/shunddmn core_15928.040831.054704 core file = core_15928.040831.054704 -- program ``shunddmn'' on platform SUNW,Ultra-Enterprise SIGSEGV: Segmentation Fault
デバッガ上で以下を入力し($も含みます)、スタックトレースを表示させます。
$c
例)
$c do_entry(1970918,e,61b38,61850,5ba38,0) + b08 _thread_start(63580,0,0,0,0,0) + 40
上記の表示をテキストファイルに保存してください。
デバッガ上で以下を入力し($も含みます)、adbデバッガを停止します。
$q
採取方法(Linuxの場合)
スーパーユーザー権限でgdbデバッガを起動します。
gdb /opt/FJSVshnsk/sbin/プロセス名 coreファイル名(絶対パス)
例)以下は、searcherプロセスがダウンした場合の例です。
gdb /opt/FJSVshnsk/sbin/shunsdmn core_11216.040907.203435 GNU gdb Red Hat Linux (5.2-2) Copyright 2002 Free Software Foundation, Inc. :
デバッガ上で以下を入力し、スタックトレースを表示させます。
thread apply all bt
例)
(gdb) thread apply all bt Thread 4 (process 11216): :
上記の表示をテキストファイルに保存してください。
デバッガ上で以下を入力し、gdbデバッガを停止します。
q
採取方法(Windowsの場合)
mapファイルを動作環境ファイルのCoreFileFolderに指定したフォルダ配下にコピーします。mapファイルの格納場所については、“3.4.6 mapファイル(Windows)”の記述を参照してください。
1.でコピーしたmapファイルのファイル名を以下に変更します。
ファイル名:shunmemfuncmap
動作環境ファイルのCoreFileFolderに指定したフォルダ上で、Administrator権限を持つユーザにて以下のコマンドを実行します。
Shunsakuのインストール先のフォルダ\Shunsaku\sbin\shunstacktrace coreファイル名
コマンドの出力結果をテキストファイルに保存してください。