論理と、幻想と。

ゲームやガジェットが好きなITスペシャリストが作ったものや考えたことについてダラダラ書きます

ACTや補助輪のトラブルシューティングの基本

気が向いたので書きました。追記するかもしれません。

はじめに理解しておいてほしいこと

使う人間の矜持

ACTや補助輪プラグインだけに留まらず、PCを使う上で当たり前に覚えておいていて欲しい話です。

自分のシステムのことは自分しか知らない

私もそれなりに詳しいという自覚はありますが、それはIT専門知識への造詣と経験が人並み以上にある、というだけのことです。しかしあなたのPCについては知りません。なぜなら、私はあなたではないからです。

特にWindows OSのPC環境は、昔ほどではないにしろ、使い方や接続されたデバイス等、その人の嗜好によって大きく異なるものになり得ます。あなたのPCの専門家は、あなた以外にはいません。

私の環境で動いていてもあなたの環境では動かないかもしれない。エラーメッセージから直接的な原因を推測することはできますが、そもそもの根本原因までは分からない。

自分が望んだ結果そうなっている

あなたが何かを解決したいと思ったから、必要なものをセットアップした。誰かが強制したのであれば話は別ですが、そうではない。あなたがPCを使いたいと思ったから買った。何かをするために、あるソフトを使いたいと思ったからインストールした。

あなたのやりたいことに対して責任を負えるのはあなただけです。決して、PCを売った販売店やソフトウェアを公開した開発者、ましてやあなたに助言をした人に責任はありません。

たとえ話

そのソフトウェアがあなたの思い通りに動かなかった場合、そもそもの期待値が間違っている場合がある。

ドライブがしたければカーナビを買うといいでしょう。なぜならば目的地までのルートや条件などを設定することで、より効率的に目的地に辿り着く方法をアナウンスする機能に特化した製品だからです。しかしカーナビもメーカーや機種によって千差万別で、指定ルートを離れたときに再検索される経路があまりインテリジェンスじゃなかったりもする。「カーナビを買ったのに目的地に辿り着けない!」っていう人がいたらどう思う?アホくさいでしょ。運転するのはカーナビじゃなくてお前じゃん、っていう話。

そんなもん機種にもよるし条件設定が間違っている可能性もある。そもそも目的地が間違っていようもんならもう目も当てられない。車は一般に普及して長く、それなりに付き合い方もわかっている人が多いので「アホらしい」と思える人が多いかもしれない。

けれどPCはまだ歴史が浅く、その使い方に関するリテラシーはまだまだ発展途上。なのでPCソフトやアプリの類ではそういう期待値が的外れっていうことも頻繁に起きる。期待値が間違っていたらそんなもん知らんがな、とも言いたくなる。何が目的でそれを使おうとしたのか、これは常々意識してほしいことです。

トラブルシューティング本編

構造を意識する

ソフトウェア製品というのは基本的に複数のコンポーネントが絡み合って動きます。Windowsアプリケーションであれば、DLLファイルなんかが典型的な例です。もちろん単一バイナリ(exeファイル)だけである場合もありますが、それは開発者がライブラリも全部まとめてパッケージ化してくれているだけの話。

良いソフトウェアっていうのはだいたいモジュール(ライブラリ)化されています。10個の機能があったとすれば、それらは10個のモジュールに分割されて、必要な場所だけ差し替えて使えるようになっています。だいたいそんなもんだと思っておけばいいと思います。

開発者が作った機能をカテゴリごとにまとめたライブラリであったり、あるいはDiscordみたいな特定のサービスとの連携を簡単に作り込むためのライブラリだったり、色々あります。それらのライブラリを都度呼び出してアプリケーションが動きます。

それらライブラリの呼び出しについては開発者の思想も色濃く出ますが、多くの場合はディレクトリ(フォルダ)構造に依存します。ファイルを置く場所が間違っていて、想定した場所にライブラリが見つからなければエラーになります。

全てを理解する必要はない

ソフトウェアの構造をすべて理解する必要はありません。たぶんそれができるのは一部のエキスパートだけです。

重要なのは、前述の構造について意識した上で「この状態が正しい」というものを自分の中で持っておくことです。「どうやらこの状態が正しいらしい」程度の認識で全然問題ありません。

補助輪に関しては、開発者であるanoyetta氏が推奨セットアップ方法とディレクトリ構造を公開してくれています。

www.anoyetta.com

この記事に対して私は「誰でもこれに従えばとりあえず出来るように気遣って書いているんだな」という感想を持ちました。決してこれが正解であるとは言いません。しかし、どうしていいか分からないのであればひとまず従ってみるといいです。

ある程度自分で何とか出来る人は、全てを鵜呑みにする必要はありません。私はまったく違うディレクトリ構造で運用していますし。

そして、動くようになった。そうしたら「どうやらこの状態が正しいらしい」と思って問題ありません。

エラーメッセージやログを読む

IT屋さんとして仕事をしていても、エラーメッセージを読まずに「なんかエラーが出た」という人には頻繁に遭遇します。エラーメッセージを見たら何が悪いかすべて書いてあったりします。けれど反射的に読むことを諦めている。

質問する人の90%ぐらいはそもそも「エラーメッセージが出た」というだけで内容を読んでいません。

エラーメッセージとはそもそも、魔法の呪文でもなんでもありません。ソフトウェアが何をしようとしたら、どういうエラーが出たのか、そこに全てが書いてあります。我々がフォーラムとかでやっているトラブルシューティングっていうのはほとんどの場合、その人に代わってエラーメッセージを読み解くところから始まります。

  • 読めない?
    • よく見るとそんなに難しい英語は使われていない
  • 専門用語が分からない?
    • ググれ
    • 分からなくてもいいからとりあえず読んでみる
  • 何をしたら解決できるか書いてほしい
    • ソフトウェア的に全ての例外をカバーするのは無理です

大事なのは、まず読んでみようとすること。すると、何かしらのファイル名が書いてあったりします。そのファイルを読み込もうとしたときにエラーが出た、という情報が分かれば、まずはそのファイルを自分で開いてみれば良い。そもそもファイルが存在しないかもしれない。ファイルは存在するけど論理的に壊れてしまっている、ということもある。普通に構文がおかしいだけかもしれない。

もちろん、そのファイルがトリガーになっただけで複数の問題が潜んでいる場合も多いです。

一度ぶっ壊して作り直す

これが私の考える最強のトラブルシューティング方法です。何か問題が起きている人、というのは「この状態が正しいらしい」という状態から何かしらの操作を行っているケースがほとんどです。で、あれこれ操作をしているうちに、何が悪さをしているかわからなくなってしまった。

であれば、「この状態が正しいらしい」というところまで戻してしまえばいいだけの話です。

自分が行った設定が原因かもしれない場合には、設定をバックアップして全て消し去ってみる。もう一度作る方法が分かっているならばこれほど簡単な対処法はありません。先祖代々継ぎ足してきた秘伝の設定ファイル、なんていうものはだいたい大して役に立たないどころか、問題を繰り返し引き起こすトリガーになりかねないので捨ててしまっていいです。

  • ACTの設定やログファイルは %APPDATA%\Advanced Combat Tracker
  • 補助輪の設定やログファイルは %APPDATA%\anoyetta\ACT

設定を初期状態に戻してもダメなら、プログラムを動かすための前提条件となるディレクトリ構造がおかしくなっている可能性もある。それなら一度アンインストールして再セットアップすれば良い。 一度やっていることなので、理解していればそれほど時間がかかる操作でもないと思います。