これはVisual Studio Advent Calendar 2015の12日目の記事です。
Visual Studio 2015でC++アプリケーションをデバッグすると、デバッガに構造体の情報が表示されます。自分で作ったアプリケーションや普通の構造体であればデバッガはPDBを参照すればいいのですが、特殊なコンテナなどで視覚化をしたいという場合、どうすればいいでしょう?
これをサポートするために、Visual Studio 2012からNatvisというネイティブビジュアライザー(NATive Visualizer?)という仕組みが追加されました。簡単に言えば、拡張子natvisというファイルを所定のフォルダに置いておくとVisual Studioが定義を読み取り、デバッガで指定した形式で表示してくれるというものです。実際、Windows 10 SDKにはこのnatvisファイルで定義が提供されてるものもあります。
実際にstruct Rectangeなんてものを定義すると、自動的に展開してくれます。そしてメンバーの名前も自由にnatvisファイルで変更されます。詳しくは幾つか参照。
https://support.microsoft.com/ja-jp/kb/3091112
Create custom views of native objects
でまぁ、ここまでは割と語られています。私もVisual Studio 2012で追加された時に資料作りました。
Visual Studio 2015 RTMまでのNatvisファイルはユーザプロファイルに入れるか、Visual Studioインストールフォルダに入れるかしかなかったのですが、Visual Studio 2015 Update1ではプロジェクト単位でも追加できるようになりました。実際、見たいのはプロジェクト単位なので、こうやってソース管理に追加できるようになると非常にありがたいですね。
簡単なnatvisは確かに簡単に作れるのですが、独自のコンテナライブラリーなんかをnatvis作ろうとすると、結構難しくて、Visual Studio 2012のnatvisではかなり泣きそうだったのですが、2015とかはかなり簡単になっているようですし、なんせ普通にサンプルとして格納されているので、参考にすればいいと思います。
すいません、旅行から帰ってきたばかりなので、この辺で簡単に…。できたらもうちょっと追記します。