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

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

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

販売価格:¥3,080(税込)

ポイント:280pt (10%)
詳細はこちら

送料無料

現在、本商品は販売しておりません。
ほしい物リストに追加

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

ソフトウェア(システムやアプリケーション)の開発/運用時には、バグや性能低下、故障など、さまざまな問題が発生する可能があります。本書は、ソフトウェア開発時の「デバッグ」と、運用時の「トラブルシュート(故障部位の特定と解析)」の解説書です。主に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サーバ
対処策の実施は柔軟に
-------------------------------------------------------

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

関連商品

動かして学ぶ!Python Django開発入門 第2版

販売価格:3,740円(税込)

2022.03.14発売

PM教科書 PMP完全攻略テキスト PMBOKガイド第7版対応

販売価格:4,180円(税込)

2022.02.21発売

手づくり工作をうごかそう!micro:bitプログラミング 第2版

販売価格:2,090円(税込)

2022.02.15発売

おすすめ特集

情報処理教科書シリーズ

情報処理技術者試験におすすめの参考書「EXAMPRESS 情報処理教科書シリーズ」で最短合格!

ベンダー資格 試験対策本特集

ベンダー資格に関する書籍を試験ごとに紹介!ベンダー資格試験対策本特集

ゲームプログラミング・ゲーム制作関連本

趣味で始めてみたい方や、ゲームプログラマー・ゲームデザイナーにもおすすめ!ゲーム制作おすすめ本

Excel本大特集

【Excel本大特集】業務効率化やスキルアップに!おすすめの学習書をご紹介。

マネジメント・リーダーシップ特集

人材育成やチームビルディング、プロダクトマネジメントや業務改善など、組織を目標達成に導く書籍

翔泳社のセミナー・講座

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

特集をもっと見る