Visual Studio 2010/2013 UTF8編碼調試時顯示中文

來源:互聯網
上載者:User

標籤:

VisualStudio 2010 SP1環境

 1、設定string預設編碼為utf8,只需要在檔案頭部加入以下代碼

1 #pragma execution_character_set("utf-8") //預設使用UTF8

2、debug提示視窗顯示utf8,開啟C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Packages\Debugger\autoexp.dat檔案找到第412到413行,原文如下:

1 std::basic_string<char,*>{2     preview        ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,s] ) #else ( [$e._Bx._Ptr,s] ))3     stringview    ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,sb] ) #else ( [$e._Bx._Ptr,sb] ))

修改為以下內容

1 std::basic_string<char,*>{2     preview        ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,s8] ) #else ( [$e._Bx._Ptr,s8] ))3     stringview    ( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,s8b] ) #else ( [$e._Bx._Ptr,s8b] ))

參考:

  1. autoexp.dat入門http://www.thecodeway.com/blog/?p=924

VS2013修改autoexp.dat已經無效,需要修改

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\Visualizers\stl.natvis檔案,大約755-758行

1 <Type Name="std::basic_string&lt;char,*&gt;">2     <DisplayString Condition="_Myres &lt; _BUF_SIZE">{_Bx._Buf,s8}</DisplayString>3     <DisplayString Condition="_Myres &gt;= _BUF_SIZE">{_Bx._Ptr,s8}</DisplayString>4     <StringView Condition="_Myres &lt; _BUF_SIZE">_Bx._Buf,s8</StringView>5     <StringView Condition="_Myres &gt;= _BUF_SIZE">_Bx._Ptr,s8</StringView>

 

Visual Studio 2010/2013 UTF8編碼調試時顯示中文

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.