【VB.NET】DataTable Visualizerを使ってデバッグ<動かない場合のやり方>

VB.NETリアルタイム測定プログラムは一段落して、データ処理プログラムに入ってます。
ただでさえ、リアルタイムで重くしてはいけないプログラムなので、ログしたデータを別プログラムで
読み込んで、処理することにしました。後日、使ってみて不便なら一体化します。

■DataTableを使うことになった経緯
当初は、DataGridViewだけ使ってExcelライクな表を表示するだけでVBAみたいな使い方をしてみたのですが、測定項目が安定しない時など単発ならいいのですが、測定項目が決まって、膨大な測定データが発生するとなると
決まったテンプレートに載せて管理するほうが後々様々なデータ処理には便利ではないかと思ったので、DataSetとDataTableに測定データを書き込んでデータベースとして管理することにしました。DataTable(dt)にデータを書き込んでおけば、DatGridView(dgv1)への表示は1行で完了できるので便利です。

dgv1.DataSource = dt


■DataTableに書かれているかデバッグ中に確認したいとき

DataTableは、列項目名と行番号で管理されていて、中身を見るのは
Debug.printするか、DataGridViewに表示させるかと面倒なので
デバッガー上でモニターできないかと検索すると
Visualizerというデバッグ機能がありました。作った行列をその場でチェックできて非常に便利です。
■DataTableの中身を見るやり方
途中で止めてその時点でのDataTableを見たいとき
①下図、dt.Rows.Add(dtRow)の次のNextにカーソルを置いて
メニューのDebug>ブレークポイントの設定/解除をクリックすると
72行目の左にがでてここでプログラムが止まります。

②プログラムを走らせて、ブレークポイントにくると赤丸で止まりますので
dt.Rowsのdt文字にカーソルをもっていくと虫眼鏡🔍がでます。

③🔍マークにカーソルをもってクリックすると
DataTableビジュアライザーがでます。1行目に書き込んだつもりのデータ書いてあって全部確認できるので、安心してプログラム作業進められます。

参考にさせていただいたページに感謝です。
https://www.tairax.com/entry/Visual-Stadio-DatasetVisualizer

https://qiita.com/7of9/items/ff0523b20c2fc90c6337

■🔍と押してもビジュアライザーがでない場合
VisualStudioの嫌な点が、WEBのチュートリアル通りにしてもその通りに動かないことが多々あるから挫折してしまう点です。私の場合、ビジュアライザが出ませんでした。「このカスタムビューアを読み込めませんでした」とエラーがでました。そこで、検索しまくってこちらのページにお世話になりました。
①メニュのツール>オプション>デバッグ>全般の設定を変更すれば治る=>「”Use Managed Compatibility Mode”のチェックはずす」困ったときはStackOverFlowが頼りになります。

https://stackoverflow.com/questions/31696387/visual-studio-2015-datatable-dataset-visualizer-crashes-ide

②オプション設定の変更の仕方
Use Managed Compatibility Mode」の検索すると
□マネージ互換モードの使用 のチェックをはずせばいいらしい

これで、上記のようにビジュアライザーが見れるようになりました。

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です