Visual Studio 2012以降でC++を使う時の便利機能
Visual Studio Community 2013が無償公開されており、ありがたく使わせてもらっています。
VS2012以降で、.NETを使用しないネイティブアプリ(要はVC++)をデバッグするとき、以下のような便利機能があります。
・カスタムビュー(natvis)
・ステップフィルタ(natstepfilter)
・Just My Code(natjmc)
まとまった情報が少ないようなので、この記事にメモっておきます。
カスタムビュー
デバッグ中、変数にマウスポインタをあてたときのツールチップや、ウォッチで表示される内容をカスタマイズする機能です。
%USERPROFILE%\Documents\Visual Studio 2013\Visualizers に拡張子 natvis のXMLファイルを置くだけで有効になります。
詳しくは以下を。
<?xml version="1.0" encoding="utf-8"?>
{{x={x} y={y}}}
デバッガーでのネイティブ オブジェクトのカスタム ビューの作成|MSDN
ステップフィルタ
関数にステップインするとき、あまり興味のないゲッターやセッターなどを大量に経由しなければならないのが萎えますが、ステップフィルタを使うと特定の関数にステップインしないようにできます。
%USERPROFILE%\Documents\Visual Studio 2013\Visualizers に拡張子 natstepfilter のXMLファイルを置くだけで有効になります。
ドキュメントが少ないので仕様がよくわかりませんが、以下のような感じです。
<?xml version="1.0" encoding="utf-8"?>
hogehoge NoStepInto
CFuga.* NoStepInto
Just My Code
呼び出し履歴に user32.dll!774d8e71() みたいのがずらっと並んでいたのを、[External Code]にすっきりまとめてくれる機能です。
%USERPROFILE%\Documents\Visual Studio 2013\Visualizers に拡張子 natjmc のXMLファイルを置くだけで有効になります。
こんな感じ。
Just My Code for C++ in VS 2013|Visual C++ Team Blog
<?xml version="1.0" encoding="utf-8"?>
以上です
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\Visualizers にデフォルトの設定があるので参考にできます。
しかし如何せん、情報が少ない。。便利なのに。