[PC]MSI 970A-G46と玄人志向 SATA2RI2-PCIEの組み合わせではまる。

MSI 970A-G46と玄人志向 SATA2RI2-PCIEの組み合わせにハマった時のメモ。

MSI 970A-G46に玄人志向 SATA2RI2-PCIEを挿して使用した時に、SATA Portの起動順番をM/B側の優先順位を高く設定しても拡張ボード側(SATA2RI2-PCIE)が優先されてしまう。これは不具合なのかなぁ。
SATA2RI2-PCIEをM/Bに挿している事自体は問題ないのだが、何かしらのデバイスがSATA Portに装着されているとおかしくなる。これではOSのインストールもできない。MSIは洒落たGUIのBIOS設定画面でこれがいけねんじゃね!?と思ってしまうわ。BIOSの設定ではM/B側の起動順番が上位なのに・・・。

しょうがないので玄人志向 SATA2RI2-PCIEは使用しないでいたところ、いじくり回しているうちに不注意でこのM/Bが壊れまして、GIGABYTE GA-990FXA-D3を新たに導入。ちなみに、このM/BとSATA2RI2-PCIEの組み合わせはOKだった。

[C#]デバッグログの表示にDebugViewを使う。

C#でログを出力したいときにDebugViewを使用すると便利。このアプリケーションを開いているときだけログが表示されるので、問題なければリリース用の実行バイナリでもそのまま使用することができる。

DebugView for Windows
http://technet.microsoft.com/ja-JP/sysinternals/bb896647.aspx

usingの追加
using System.Diagnostics;

使い方は簡単。Debug.WriteLine()かTrace.WriteLine()で表示する事ができる。

        private void button1_Click(object sender, EventArgs e)
        {
            Trace.WriteLine("Button1 Click");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Trace.WriteLine("Button2 Click");
        }

DebugViewの実行画面

以下、Trace文の便利な使い方。

VisualStudioでのデバッグ時にイミディエイトウィンドウを使用する
VisualStudioのオプションでイミディエイトウィンドウにデバッグ文を表示させることができる。
Img20121217173434

デバッグ実行時のイミディエイトウィンドウ画面

Trace文の出力先にファイルを追加する
Trace文の出力先のリスナーにファイルを追加することで、ログをファイルに出力させることができる。
尚、下記ソースのように1度リスナーの設定をしておけば同一インスタンスで生成されるソース内のTrace文はすべて出力されるようになる。

        public Form1()
        {
            InitializeComponent();
            /// Trace文の出力先にlog.txtを指定する
            RegistTraceLog("log.txt");
        }

        /// <summary>
        /// Trace出力ファイルをTraceListenerに登録します
        /// </summary>
        /// <param name="filePath"></param>
        public static void RegistTraceLog(string filePath)
        {
            //DefaultTraceListenerオブジェクトを取得
            DefaultTraceListener drl;
            drl = (DefaultTraceListener)Trace.Listeners["Default"];
            //LogFileNameを変更する
            drl.LogFileName = filePath;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Trace.WriteLine("Button2 Click");

            /// Form2内のTrace文もファイルに出力される
            (new Form2()).Show();
        }

VisualStudioのバージョンによるDebugViewの動作
DebugViewへのログ出力がVisualStudioのバージョンにより少々異なるようで、VS2008以降であるとVisualStudio上でのデバッグ実行中(VS上でのF5)はDebugViewへ表示されなくなった。VS2008以降は実行バイナリを直接起動(VS上でのCtrl+F5)させることによって表示される。