新宿本校にて、、、システムの開発中やリリース後に何らかのトラブルが起きることはあります。自社のWebアプリケーションだと特にですね。心理的にテストが甘くなるから。早めに問題を修正するのが重要なポイントです。トラブルの原因を調査して解決することをトラブルシューティングと言います。今回はトラブルシューティング方法についてお伝えしましょう。作った通りにはきちんと動いてくれるものです。作った通りに動くということはトラブルの原因は必ずどこかにあるのです。プログラムの例で言えばバグの種類は大まかに分けて2種類あります。特定の処理ができなくなったり最悪の場合はシステム全体が止まってしまいます。実はこちらの方がトラブルとしては怖いのです。請求書の金額やデータベースの登録内容が間違ってしまいます。このような場合はエラーが出ないので、バグに気付くのが遅くなってしまうのです。プログラムでもサーバー構築でも、テストをしっかりと行うことが大切ですが...それでも起きてしまったトラブルは、どうやって解決してゆくのでしょうか?トラブルシューティングってどうやるの?プログラムの場合は、エラーが発生している場合はエラーメッセージやログファイルを見ます。これらには、どこでどのような原因でエラーが発生したのかが詳しく記録されており、その情報をもとにエラーの原因を解析するのが基本です。エラーの発生場所とエラーの原因を生み出している場所が必ず同じという訳ではありません。エラーが発生するもっと前の処理でエラーの原因を作ってしまっている場合もあります。その時に行うのが「ステップ実行」という開発ツールの機能で、プログラムを1行ずつ実行させて、データの内容や処理結果を確認しながら実行できます。エラーが発生しない種類のバグだと、ステップ実行で確認しないと原因がつかめません。基本的にはログファイルの解析から始まります。...Webサーバーがうまく動かない!メールを送っても送信されていない!...などといった場合、Webやメールサービスのログファイルを確認します。プログラムの場合と同じで、ログファイルにエラー内容が書かれていますのでそこから原因を調査してゆくのが基本です。サーバーの場合は物理的なトラブルが原因となる場合もあります。物理的な原因も含めて調査しなければいけません。問題がない...一見すると原因不明のトラブルが発生する場合もあります。問題を絞り込んで行きます。下記のようなところまでいったとしましょう。AさんのPCだと問題なく動くのですが、BさんのPCだと計算結果が違うといったケース。正しいものを使っているかどうか調べる。バージョンが違っていると動きが変わってくるケースがありえます。ウェブアプリケーションでなければ、OSやミドルウェア系を調べる。他にも調査ポイントはありますが、それでも原因不明の場合はベンダーにサポートを依頼して原因を究明しましょう。頑張るしかありません。早急にトラブルを解決しなければいけません。代わりのサーバーを用意するなどの対策が必要です。エンジニアの価値を高めるトラブルシューティングスキルバグやエラーの対処方法はエンジニアが習得しておきたいスキルのひとつ。トラブルシューティングのスキルが高いのと低いのでは、エンジニアとしての価値が格段に変わってきます。発生するだけで損失を与えてしまっているのです。損失を最小限に抑え、トラブルをできるだけ早く解決して通常の業務を進めてもらう...それが生産性の向上に繋がるのです。松田PSどんな機械でも使っているとあちこち痛んできます。システムでもそれは同じこと。万一の時は素早く対処できる方がいいですし、ユーザーの信頼も失わずに済みます。リカレントリナックスアカデミーグループ。