やります!アンコちゃんのデバッグ
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

やります!アンコちゃんのデバッグ

2014-03-30 21:00
    やります!アンコちゃんの配布サイトはこちら
    http://com.nicovideo.jp/community/co278640


    他の記事
    やります!アンコちゃん ブロマガ目次→ar368648

    アンコちゃんには未知の不具合が存在したり、仕様変更の影響で想定外の動作に陥ることがあります。不具合の内容や、不具合発生時の操作などの情報から原因を特定することも不可能ではないのですが、特定の環境でのみ起きる不具合というものも有って、そういった場合にデバッグして原因を調べてくださると、素早い解決に至ることがあります。

    しかし、ご存知ではない方が多いようですので、今回はデバッグを取り上げてみたいと思います。

    デバッグ前の準備
    Windowsキー(キーボードの左手前にある)を押しながらRを押します。するとファイル名を指定して実行という小窓が表示されるので、「cmd」(「」の中身だけ)を打ってOKを押します。すると黒い画面が出てきますので、ウィンドウ左上のアイコンをシングルクリック>プロパティを選択。

    オプションタブを開いて、編集オプションの「簡易編集モード」のチェックが外れた状態にしてください。これをやらないと、アンコちゃんの動作が固まったかのようになります。



    デバッグの起動

    アンコちゃんのフォルダに有る「debug.bat」を実行するだけです。すると黒いウィンドウ(コマンドプロンプト)が出てきて、そこにアンコちゃんの内部処理の一部やエラーの内容が表示されます。
    ※コマンドプロンプトのウィンドウを、アンコちゃんより先に閉じないでください。不具合のもとです。閉じる際は必ずアンコちゃん→コマンドプロンプトの順番で。

    ※「プラグイン>プラグインを使用する」にチェックが入っていない人は、プラグインのロードが表示されません。

    因みにアンコちゃんのフォルダは、デフォルトではドキュメントフォルダにインストールされます。変更して場所が分からない人は、デスクトップ上に作成したショートカットを右クリック>プロパティから探してください。


    エラーメッセージを保存する有用性

    例えば、異常終了してしまうような不具合が出た場合は、アンコちゃん側で異常終了する不具合を意図的に起こし、このウィンドウ上に出たエラーの箇所をコピーするかスクリーンショットを撮り、異常終了時の操作とエラーメッセージを添えてサポート掲示板に書き込めば、対処法が得られたり、本体側の不具合であれば修正してくださると思います。

    それ以外にも、思った通りに動いてくれず、その旨をサポート掲示板に書き込んだ際にも、"稀に"デバッグを求められるケースが有ります。

    古い画像(去年の6月末)で申し訳ありませんが、この画像の場合、赤く囲った場所がエラーメッセージになります。ほんの一例ですが、本体が落ちてしまうようなエラーでした。


    エラーログをコピーする
    取り敢えず、ユーザ情報の保存関係の部分をコピーしてみたいと思います。
    ※本来ならエラーメッセージを、となりますが、今再現できるものがないので…w
    追記:良い例が見つかったので画像差し替えました。

    コマンドプロンプトの画面を右クリックし、「範囲指定」をクリック。



    マウス操作で範囲を選択し、その後Enterキーを押すとコピーされます。



    この例では以下の文字列がコピーされました(1行が長いので改行位置がオカシクなってます)。
    ハンドルされていない例外: System.FormatException: 文字列で表される DateTime がカレンダー System.Globalization.GregorianCalendar でサポートされていません。
    場所 System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
    場所 ankoRequester.FrmSetting.makeMovieTitleMsg(String template, MovieInfoCnf item)
    場所 ankoRequester.Class1.AnalizeUrl(Object state)
    場所 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    場所 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    場所 System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
    場所 System.Threading.ThreadPoolWorkQueue.Dispatch()
    メモ帳などに貼り付けて保存しておかないと、別のものをコピーした際に上書きされてしまいますので、お気をつけ下さい。

    エラーログを静止画として保存する
    「PrintScreen」を使います。キーボードの右奥の方に正式名称で「Print screen」と書いてあるものや、省略形で「Prt Sc」「Prt Scr」等と書かれているものもあります。キーボードによって若干違うので、頑張って探してみてください。

    PrintScreenを単独で押した場合、画面全体を撮影してしまいます。それだと余計な部分が多数映ってしまいますが、Alt + PrintScreen(Altキーを押しながらPrintScreenを押す)と、アクティブ(操作中)になっているウィンドウのみ撮ることが出来ます。これでコマンドプロンプトのウィンドウだけを撮ってみましょう。
    ※押した時に何の反応もないのは仕様です。内部ではきちんと動いてるので大丈夫です。

    上記の操作が済みましたら、ペイントを起動して貼り付けます。
    画面左下の方に有るスタートメニューまたはWindowsのロゴマークをクリックし、すべてのプログラム>アクセサリ>ペイント。編集>貼り付けを選択し、名前をつけて保存。形式はJPEGかPNGでいいと思います。

    ※バージョンによって操作法に違いが有るかもしれません。

    他のツールでも静止画として保存できる
    OSがVista以降ですと、Snipping Toolという便利な静止画キャプチャーのソフトがインストールされています。

    場所は、画面左下の方に有るスタートメニューまたはWindowsのロゴマークをクリックし、すべてのプログラム>アクセサリ>Snipping Tool。起動したら「新規作成>ウィンドウの領域切り取り」でコマンドプロンプトのウィンドウを選択。ファイル>名前をつけて保存。

    これらの方法が難しいようでしたら、Winshotのような静止画キャプチャーソフトを使うと、もっと楽に出来るかもしれません。


    エラーの文字列の例
    これが分からないと話になりませんでしたねw環境によっては一部日本語で表示されたり、全部英語で表示されることがあります。多くの場合は下記の3パターンです。

    パターン1・一部日本語
    ハンドルされていない例外〜
    場所〜

    パターン2・全部英語
    Unhandled Exception〜
    at 〜

    パターン3・未解決の本体が起動しない不具合
    Process is terminated due to StackOverflowException.

    パターン1とパターン2の場合、~で書き示した部分が必要な情報です。出来れば、「ハンドルされていない例外」「Unhandled Exception」等の部分も含めて、テキストまたは画像でいただければ幸いです。直前に行った操作についても、解決のヒントになりますので宜しくお願い致します。

    最後に

    デバッグと聞いて難しいイメージを抱く方が多いのではないかと思いますが、このように簡単に行えます。この画面上に情報が現れない不具合もありますが、何卒ご協力よろしくお願いいたします。

    終了する際はアンコちゃん→コマンドプロンプトの順で行ってください
    大事なことなので2回(ry

    尚、やります!アンコちゃんの公式サポートはこちらにて受け付けています。
    http://seesaawiki.jp/yari_an/bbs/
    お返事が欲しい場合→サポート掲示板【質問】
    返事不要&不具合報告→サポート掲示板【不具合】
    尚、サポートは最新バージョンのみとなっていますので、最新版でも起きることを確認した上で報告宜しくお願い致します。

    可能であれば、こちらのテンプレートを埋めて頂けましたら幸いです。
    http://yarimasu.ankochan.net/d/template


    2014/05/03更新 画像の差し替え&誤字修正
    2014/10/04更新 エラーの文字列の例を追加

    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。