翔泳社の公式通販SEshopは全国送料無料!
ヘルプ 新規会員登録 ログイン
SEshop

現場で使えるデバッグ&トラブルシュート Java編 システム障害を乗り越えるための解析テクニック

小堀 一雄(著) , 飯山 教史(著) , 飯山 教史(監修) , 茂呂 範(著) , 佐藤 聖規(著) , 石垣 一(著)

商品番号
118350
販売状態
品切れ
納品形態
宅配便にてお届け
発売日
2010年02月26日
出荷開始日
2010年02月27日
ISBN
9784798118352
判型
B5変
ページ数
432
キーワード
プログラミング  Java  開発

3,080円(税込)(本体2,800円+税10%)
送料無料

280pt (10%)
ポイントの使い方はこちら

初回購入から使えるポイント500円分プレゼント

現在、本商品は販売しておりません。

※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。

「バグ」と「故障」の解析手順とコツがわかる!

ソフトウェア(システムやアプリケーション)の開発/運用時には、バグや性能低下、故障など、さまざまな問題が発生する可能があります。本書は、ソフトウェア開発時の「デバッグ」と、運用時の「トラブルシュート(故障部位の特定と解析)」の解説書です。主にJava開発者、システム運用管理/サポート担当者を対象としています。運用時のバグや故障を未然に防ぐには、設計段階からしっかりと情報収集の方法を組み込んでおく必要があります。また、開発時には効率的にデバッグを行ない、後工程にすり抜けるバグを減らさなくてはなりません。それでも運用時に故障が発生した際には、原因を特定/解析するためにエラーや発生箇所などの情報(ログ)を収集し、それを読み解くためのミドルウェア/OSの内部構造の知識が必要となります。これらすべての作業に対して読者の皆さんにスキルアップしてもらうため、本書ではデバッグやトラブルシュートを行なう際の必須知識、故障特定/解析に必要な情報を収集する設計方法、デバッグやトラブルシュートを効率的に行なうツールや手順、テクニックについて、実習を交えてわかりやすく解説します。

目次

CHAPTER 01 システム開発におけるデバッグとトラブルシュート

1.1 はじめに
1.2 デバッグとトラブルシュートはなぜ必要か?
   1.2.1 ソフトウェアの故障
1.3 故障が起こる原因
1.4 デバッグとトラブルシュートの概念~本書で対象とする故障への対処法
   1.4.1 デバッグ
   1.4.2 トラブルシュート
1.5 デバッグとトラブルシュートの基本的な流れ
   1.5.1 デバッグの流れ
   1.5.2 トラブルシュートの流れ

CHAPTER 02 デバッグ&トラブルシュートの基礎知識

2.1 要件定義/設計の必須知識
   2.1.1 ソフトウェアに対する要件
   2.1.2 システムの構成
2.2 バージョン管理の必須知識とツール
   2.2.1 バージョン管理とは?
   2.2.2 バージョン管理で使うツール
   2.2.3 Subversionの必須知識
2.3 デバッグの必須知識とツール
   2.3.1 デグレード
   2.3.2 log4j
   2.3.3 スタックトレース
   2.3.4 Eclipse
   2.3.5 Pleiades
   2.3.6 Junit
   2.3.7 ブレークポイント
2.4 トラブルシュートの必須知識とツール
   2.4.1 開発環境、検証環境、商用環境
   2.4.2 証跡
   2.4.3 プロセスとスレッド
   2.4.4 スレッドダンプ
   2.4.5 ヒープメモリ
   2.4.6 Garbage Collection
   2.4.7 レスポンスタイムとターンアラウンドタイム
   2.4.8 スループット
   2.4.9 % ile(パーセンタイル)

CHAPTER 03 デバッグ&トラブルシュート環境の構築

3.1 デバッグ環境の構築
   3.1.1 Java SE Development Kit(JDK)のインストール
   3.1.2 Pleiades All in Oneを利用したEclipseのインストール
3.2 トラブルシュート環境の構築
   3.2.1 samuraiのインストール
   3.2.2 GCViewerのインストール
3.3 バージョン管理環境の構築
   3.3.1 VisualSVN Serverを利用したSubversionのインストール

CHAPTER 04 デバッグ&トラブルシュートのための要件定義/設計

4.1 設計の流れ
   4.1.1 デバッグ&トラブルシュートと設計の関係
   4.1.2 設計の手順
4.2 要件定義/設計のノウハウ
   4.2.1 運用を考慮した要件の決め方
   4.2.2 運用時の必要情報とは?
   4.2.3 ログの設計
   4.2.4 効果的なログの記録ポイント
   4.2.5 ヒープメモリ情報の取得方法
   4.2.6 OSのプロセス情報
   4.2.7 運用監視
   4.2.8 復旧手順を決めておく

CHAPTER 05 確実なバージョン管理の実施

5.1 バージョン管理の進め方
   5.1.1 バージョン管理システムのメリット
   5.1.2 バージョン管理の手順
5.2 Subversionのバージョン管理機能
   5.2.1 Subversionの特徴
5.3 Subversionを使ったバージョン管理
   5.3.1 (1)Subersionのリポジトリ作成と整備
   5.3.2 (2)プロジェクトのアップデート/チェックアウト
   5.3.3 (3)リポジトリへコミット
   5.3.4 (4)リソース管理

CHAPTER 06 効率的なデバッグの実行

6.1 デバッグの定義
   6.1.1 デバッグとは何か?
   6.1.2 デバッグの手順
   6.1.3 バグの種類
6.2 デバッグのノウハウ
   6.2.1 情報収集
   6.2.2 原因分析
   6.2.3 修正方法の検討および実施
6.3 例題による実習~プロセス/技能の実践方法
   6.3.1 コンパイルエラーのデバッグ
   6.3.2 ランタイムエラーのデバッグ
   6.3.3 仕様違反のデバッグ

CHAPTER 07 トラブルシュートの全体像

7.1 トラブルシュートの進め方
   7.1.1 トラブルシュートとは何か?
   7.1.2 トラブルシュートの手順
7.2 問題把握
   7.2.1 (1)故障内容と一次対応状況
   7.2.2 (2)故障時のシステム動作状況
   7.2.3 (3)システム構成と非機能要件
7.3 原因分析
   7.3.1 (1)故障発生サーバの特定
   7.3.2 (2)故障原因の切り分けと推定
   7.3.3 (3)証跡を用いた分析結果の裏付け
7.4 対処の実施
   7.4.1 (1)対処策の立案
   7.4.2 (2)検証環境への対処策の実施/確認
   7.4.3 (3)商用環境への対処策の実施/確認

CHAPTER 08 トラブルシュート~問題把握~

8.1 問題把握の進め方と収集情報
   8.1.1 問題把握で収集する情報
   8.1.2 (1)故障内容と一次対応状況
   8.1.3 (2)故障時のシステム動作状況
   8.1.4 (3)システム構成と非機能要件
   8.1.5 (4)問題把握の手順
8.2 問題把握作業のノウハウ
   8.2.1 故障内容の収集方法
   8.2.2 一次対応状況の収集方法
   8.2.3 故障時のシステム動作状況の収集方法
   8.2.4 システム構成の収集方法
   8.2.5 非機能要件の収集方法
8.3 例題による実習~プロセス/技法の実践方法

CHAPTER 09 トラブルシュート~原因分析~

9.1 原因分析の進め方
   9.1.1 原因分析のゴール
   9.1.2 原因分析のアウトプット
   9.1.3 原因分析の手順
9.2 原因分析のノウハウ
   9.2.1 故障発生サーバの特定のノウハウ
   9.2.2 故障原因の切り分けと推定
   9.2.3 証跡を用いた分析結果の裏付けのノウハウ
9.3 事例による学習~プロセス/技法の実践方法
   9.3.1 ステップ1:サーバの切り分け
   9.3.2 ステップ2:故障原因の切り分けと推定
   9.3.3 ステップ3:証跡を用いた分析結果の裏付け



-------------------------------------------------------
巻末付録 1 情報収集/集計で使えるツール

巻末付録 1について
付録A Java編 
A.1 JDK標準ツール
   A.1.1 jps
   A.1.2 jinfo
   A.1.3 jstat
   A.1.4 jstack
   A.1.5 jmap
   A.1.6 GCログ
   A.1.7 スレッドダンプ
   A.1.8 クラスヒストグラム
   A.1.9 jconsole
   A.1.10 jvisualvm
A.2 JDK標準以外のツール
   A.2.1 samurai
A.2.2 GCViewer
   A.2.1 samurai

付録B Linux編 
B.1 OS標準ツール
   B.1.1 vmstat
   B.1.2 sar
   B.1.3 netstat
   B.1.4 ps
   B.1.5 top

付録C Windows編 
C.1 OS標準ツール
   C.1.1 perfmon.exe
   C.1.2 taskmgr.exe

巻末付録 2Javaアプリケーション起動オプション

巻末付録 3例題の解答例

COLUMN

ユーザとの適切な関係維持のために
テストとデバッグの違い
Javaの代表的なソフトウェアアーキテクチャ
開発が終わってもバージョン管理は終わらない
開発環境を統一しよう
「解析データ」の取得はセキュリティ的に危険?
復旧作業に失敗したときのことも考える
トラブルシュートのための設計とは?
ロック・ロック解除モデルのデメリット
一歩進んだバージョン管理
マルチスレッド処理のバグ
機能要件と非機能要件
開発環境の仮想化
ソースコードにログを埋め込む場合の注意点
記述ミスが表面化するタイミング
「仕様変更」という修正方法
暫定的なデバッグログを書かない
エラーメッセージに慌てない
対処策の実施を自動化する
GCの種類
仮想化技術を利用したシステムの構成図
トラブルシュートのゴールの明確化
Sorryサーバ
対処策の実施は柔軟に
-------------------------------------------------------

各種問い合わせは以下のリンクからご連絡ください

感想・レビュー

ipusiron さん

2018-05-04

メモ完。

メリクル さん

2011-01-15

ソースよりはJVMの動きの話多め。プログラマ向けの話としては早めにログのフォーマットを決めておく必要があるってことくらいだろうか。

dyui3 さん

2010-12-20

=D 右も左もわからずSIプロジェクトのPMOとして参画するコトになって現場のコトがわかっていなかったけど一通りのことを理解することができた。

関連商品

いきなりプログラミング Python

2,420円(税込)

2024.06.25発売

いきなりプログラミング Python【PDF版】

2,420円(税込)

2024.06.25発売

おすすめ特集

法人・教育機関のお客様へ

【法人・教育機関のお客様へ】新年度の大口注文・お見積りなど、お気軽にご相談ください

Webデザイン特集

デザインやコーディングなど、Webデザインに役立つスキルが身につく書籍を揃えました

生成AI特集

テキスト生成、画像生成、動画生成など、生成AI活用のスキルが身につく本をご紹介

新社会人におすすめの本

新社会人の役に立つスキルが身につく本。ビジネスパーソンとしてスタートダッシュを切ろう!

プログラミング教育の本

小学校から必修化!人気の『ルビィのぼうけん』ほかプログラミング教育の本はこちら

翔泳社のセミナー・講座

開発・ビジネス・マーケティング・EC運営・営業支援など、幅広いジャンルの講座を開催

特集をもっと見る