2017 09123456789101112131415161718192021222324252627282930312017 11
ここでは今となってはレガシーなDSi以前のコンソールに関連したHomebrewの研究をしています。 初めての方は正面玄関(ホーム)よりお入りになり、談話室の掲示板をご覧下さい。
No. 363

標準出力関係を変更しました

今回はDS工房のベーシックな部分の変更を行いました。
標準出力とはプログラムがメッセージ等を出力をする出力先の事で、
普通は画面に割り当てられています。
他にも標準入力や標準エラー出力なんてのも有ります。
勿論、DS工房でも積極的に利用しています。

話は変わりますがプログラムにはバグは付物です。
それはプログラムと呼べる代物ではないDS工房では尚更です。
開発者はバグを発生させないようにプログラミングしますが、
人が作るものなので絶対など有り得ません。
まして私のような凡人ならバグだらけになってしまいます。

この様な状況を少しでも改善すべく機能をシンプル化してバグの発生を抑えつつ、
サブルーチンを多用したりトレースし易い構造にして、
エラーの原因を特定し易くする工夫をしています。
しかし、それにも拘らずDS工房のバグは一向に無くなりません。
最近ではテストを行っていないのでは…といった極論まで飛び出しました。

断じてその様な事は無いのですが言われても仕方が無い状況がありました。
原因の一つは或るバグの改修や機能の追加が他の何かに影響を及ぼして、
新たなバグを発生させているケースで過去には多々有りました。
また、エラーログの内容が不十分で原因が特定できない事が多く、
改修されるまでに時間が掛かる事も無視できません。
そこで今回の広範囲な改修になりました。

UNIXの世界にはTeeという便利なコマンドが有ります。
バッチでもリダイレクトやパイプ等は行えるので出力先を変更したり、
結果を他のプログラムに引き渡す事は可能です。
しかし、画面に出力しつつファイルにも書き出すような事はできません。
それを遣ってくれるのがTeeコマンドです。
処理の流れをTの字のように別の方向へ分岐させる事ができます。

無ければ作ろうという事でTeeコマンドを作りログを充実させる事にしました。
従来はresourceフォルダ内のstdout.txtやstderr.txtに書き出していましたが、
それらを一本化してMyLog.txtに書き出すように変更しました。
また、書き出す内容もより詳細に特定しやすいように変更しました。
広範囲に改修をしたのでバグを仕込んでしまった可能性を否定できませんので、
r5.26版から少し飛んでr5.30β版とします。

今回の更新を適用しても何か機能が追加される訳では有りませんが、
今後の方向性に大きく関係して来るのでとても重要な更新です。
是非、更新される事をお勧めします。
[No. 363] 2014/02/08(土) NDS-DS工房 comment(4)
コメント

りんさん

こんばんは。

一度代替メニューを使ってしまうと戻れなくなりますね。
シンプル過ぎて味気無いというか…。

話は変わりますが、やはり今回の変更は遣って良かったです。
不具合発見時の原因特定が飛躍的に早くなりました。
BVgeUSCM by: アーク * 2014/02/10 21:16 * URL [ 編集] | UP↑

こんばんは

アークさん、こんばんは。

>アップデータすると標準版になってしまいます。
そうでした。
書き換えが必要でした。

>メニューのUIもバリエーションをアップしておきました。
ありがとうございます。
使用させていただきます。
r2W5us32 by: りん * 2014/02/10 18:42 * URL [ 編集] | UP↑

りんさん

こんばんは。

一応、標準のメニューはそちらの方で、
時計付きはオプションですので、
アップデータすると標準版になってしまいます。

遅ればせながら代替メニューの方も新仕様に対応させたものをアップしました。
RtrMenu.bat を新しいものに差し替えてください。
また、お手数ですが DS工房/Units/CMN/_user_.ini をエディタ等で開いて、
MNUBAT=MainMenu.bat を MNUBAT=RtrMenu.bat に編集してください。
尚、メニューのUIもバリエーションをアップしておきました。
BVgeUSCM by: アーク * 2014/02/09 18:43 * URL [ 編集] | UP↑

こんばんは

アークさん、こんばんは。

いろいろと改修ありがとうございます。

アップデータf20140208、アップデータf20140209を適用したところ
時計がメニューに出現しなくなってしまいました…
r2W5us32 by: りん * 2014/02/09 18:29 * URL [ 編集] | UP↑

コメントの投稿
質問の前にこちらをお読み下さい。→質問時のご注意














管理者にだけ表示を許可する


| ホーム |
Page Top↑