VC 14 exe を XP でデバッグ
昨日リモートデバッグの環境を作っていったが,VC 14 では XP 上のリモートデバッグができない?
VC 11 以降 XP などについて具体的には書かれてない.
今回リモートデバッグしようと思ったのは,VC 14 でビルドした exe が XP で実行できないことにあった.
Win 7 などでは問題ない.また,VC 12 などでビルドした exe なら大丈夫.
現象は,exe の起動はできるが 3D モデルを開く時,エラーメッセージも出ずに終了してしまう.
デバッグ版のプロジェクトで以下を設定.
スタティック ライブラリで MFC を使用する
Visual Studio 2015 – Windows XP (v140_xp)
ビルドして,リリース版と同様の現象になることを確認.
XP 環境には VC 8 が入っているので,
デバッグ版 exe をエクスプローラなどから起動し,「ツール」-「プロセスにアタッチ」.
_tstati64 の呼び出しで,errno が 22(EINVAL 引数が無効です)となってしまう.
exe が終了してしまったのは,ファイルサイズが正しく取れなかったための無限ループ.
bool v_c_Save (LPCTSTR pathName,const std::vector text) { FILE* ofp = ::Open_File(pathName,_T("wb")) ; if (ofp == NULL) { return false ; } if (text.size() > 0) { ::fwrite(&text[0],sizeof(char),text.size(),ofp) ; } ::fclose(ofp) ; if (text.size() > 0) { u_64 fSize =F_Stat::GetSize(pathName) ; if (fSize == 0) { return v_c_Save(pathName,text) ; } } return true ; }
無限ループにならない様に,ループカウンタを追加.
exe が抜ける現象は解消されて 3D モデルが表示できる様にはなったが,stat の部分の対応はこれから.
リモートデバッグ
以前仮想マシンの XP にリモート環境を作って,その当時はそれなりに使ったと思う.
どうも起動が不安定だったが,複数のアダプターが影響していた?
リモート PC は,TestInst .
ローカルは DevXP と T54W7U64 .
VC 6
プロジェクトの設定で,スタティックにするなどして,対象 exe 以外の dll などがなくても動作する様にしている.
リモート側で \\DevXP\….\Debug.060\i3DV.exe を実行できる様にする.
ローカル側でも同様の指定で実行可能な設定にしている.
VC 6 の設定で,メニューの「ビルド」-「デバッガリモート接続」でリモート PC を設定.
デバッグモニタの設定は,
VC 8
プロジェクトの設定は,場所が違うだけで内容は VC 6 と同じようなもの.
リモート側では exe はこの様に見える.
デバッグモニタの設定は,
デバッガで実行すると,i3DV.exe が起動する.
VC 10
リモートデバッガのインストールから.DVD 内の rdbgsetup_x86.exe を実行してインストール.
他は,VC 8 などと同様.
高 DPI – 3
HVTR-BCTX3 , AVHD-VR2.0 追加
HVTR-BCTX3 と AVHD-VR2.0 を追加.
TV との接続ではなく,PC モニタ(21 インチ HDMI 接続)と接続.
特に問題なく視聴可能.
T90Chi に「テレリモ」と「テレプレ」をインストール.
DBR-T460 に録画しておいたビデオが再生できることを確認.
Wi-Fi 環境のせい?か,時々途切れることがある.
リンク速度は 100 Mbps あるが,受信速度が 10 Mbps を下回ると途切れるみたい.
MBP の VirtualBox の Win 10 で試すと,
「テレリモ」はインストールでき操作もできるが,「テレプレ」はインストールできなかった.
2016/06/23
昨日ちょっとわからなかったのが,DBR-T460 に録画したものの再生.
「ホーム」-「録画リスト」-「ホームネットワーク」で「DBR-T460」が表示される.
高 DPI – 2
CMetaFileDC::CreateEnhanced の lpBounds を指定していたが,うまくなかった様で NULL に.
また,これとは異なるが再生デバイスが異なる場合うまくなかったので,
ENHMETAHEADER の rclFrame ではなく rclBounds に変更.
何を参考にしたのか不明だが,幅を求めるのに TEXTMETRIC だけを使用していた.幾つかあり.
CComboBox::SetDroppedWidth
CListBox::SetHorizontalExtent
CDC::GetTextExtent
WD Cloud その後
昨年の秋に追加した WD Cloud .
最近,気温が高くなってきて…
気温 + 25 ℃くらいになる様なので,扇風機で冷やしている.
ファンレスの場合これが心配.
別の WSS の NAS は,ファンがうるさくなるが 50 ℃になることはなかったと思う.
PC の D ドライブの 64 GB のファイルをコピーして,25 分位(42 MB).
ファイルをバックアップしていて,exe など数 MB のファイルの場合,極端に遅くなることがある.
Virtual PC の VHD を WD Cloud に置いての動作.
「休止状態」にする時,うまく移行できない時が何度かあった.
速度的にはローカルの HDD などと比べても遜色ない様に感じる.
高 DPI
高 DPI についての情報
MSDN 高 DPI アプリケーションの記述方法
MSDN ユーザー インターフェイス: 高 DPI 対応
blogs.msdn アプリの高 DPI 対応について
PDC 2008 高 DPI 対応の Win32 アプリケーションを記述する
MSDN magazine Windows 8.1 用の高 DPI アプリケーションを作成する