メニュー
ブログ更新履歴
コンテンツ更新履歴
リンク
  • Magome
  • クラウドベースのMIDIシーケンサ
    音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています。
twitter

デバッガで文字列(std::string)を見てみると、文字コードが合ってなくて日本語が文字化けして表示されることがあると思います。

昨今のアプリ開発では、内部的に Shift_JIS を使うケースは減ってきてるので、いっそのこと std::string は UTF-8 として表示してくれるほうが嬉しい気がします。

というわけで、デバッガで std::string を UTF-8 として表示させる方法です。

開発環境を作る際、毎度行うことなので、備忘録かねて。

%VSINSTALLDIR%\Common7\Packages\Debugger\Visualizers\stl.natvis
を編集します。

  • VisualStudio2015 の場合
      <!-- VC 2015 -->
      <Type Name="std::basic_string&lt;char,*&gt;">
          <DisplayString Condition="_Mypair._Myval2._Myres &lt; _Mypair._Myval2._BUF_SIZE">{_Mypair._Myval2._Bx._Buf,na}</DisplayString>
          <DisplayString Condition="_Mypair._Myval2._Myres &gt;= _Mypair._Myval2._BUF_SIZE">{_Mypair._Myval2._Bx._Ptr,na}</DisplayString>
          <StringView Condition="_Mypair._Myval2._Myres &lt; _Mypair._Myval2._BUF_SIZE">_Mypair._Myval2._Bx._Buf,na</StringView>
          <StringView Condition="_Mypair._Myval2._Myres &gt;= _Mypair._Myval2._BUF_SIZE">_Mypair._Myval2._Bx._Ptr,na</StringView>
    • 上記の ",na" となってる 4 個所を ",s8" に変更して保存です。

最近のソフトウェアは UTF-8 を使う機会が増えてきているので、デフォルトで UTF-8 表示になっててくれるといいなーと思ってます。


トップ   凍結 差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 91, today: 2, yesterday: 3
初版日時: 2017-10-17 (火) 10:14:50
最終更新: 2017-10-17 (火) 10:14:50 (JST) (55d) by takatsuka