デバッガで文字列(std::string)を見てみると、文字コードが合ってなくて日本語が文字化けして表示されることがあると思います。
昨今のアプリ開発では、内部的に Shift_JIS を使うケースは減ってきてるので、いっそのこと std::string は UTF-8 として表示してくれるほうが嬉しい気がします。
というわけで、デバッガで std::string を UTF-8 として表示させる方法です。
開発環境を作る際、毎度行うことなので、備忘録かねて。
VisualStudio2015 の場合
%VSINSTALLDIR%\Common7\Packages\Debugger\Visualizers\stl.natvis
を編集します。
<!-- VC 2015 --> <Type Name="std::basic_string<char,*>"> <DisplayString Condition="_Mypair._Myval2._Myres < _Mypair._Myval2._BUF_SIZE">{_Mypair._Myval2._Bx._Buf,na}</DisplayString> <DisplayString Condition="_Mypair._Myval2._Myres >= _Mypair._Myval2._BUF_SIZE">{_Mypair._Myval2._Bx._Ptr,na}</DisplayString> <StringView Condition="_Mypair._Myval2._Myres < _Mypair._Myval2._BUF_SIZE">_Mypair._Myval2._Bx._Buf,na</StringView> <StringView Condition="_Mypair._Myval2._Myres >= _Mypair._Myval2._BUF_SIZE">_Mypair._Myval2._Bx._Ptr,na</StringView>
- 上記の ",na" となってる 4 個所を ",s8" に変更して保存です。
ぺージ情報 | |
---|---|
ぺージ名 : | 技術系備忘録/C++/VisualStudio/デバッガでstd.stringをUTF-8で表示 |
ページ別名 : | 未設定 |
ページ作成 : | takatsuka |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | なし |
ユーザー : | なし |
Counter: 8421,
today: 2,
yesterday: 4
初版日時: 2017-10-17 (火) 10:14:50
最終更新: 2017-10-17 (火) 10:14:50 (JST) (2345d) by takatsuka