8

昨日、 MSVC の "Natvis" ツールを発見しました。このツールを使用すると、デバッガーを微調整して、型をインテリジェントな方法で表示できます。私はすぐに数学ライブラリの装飾に着手しました。

これが私の 3*3 マトリックス クラスの外観です (初期化されていないデータ)。

マトリックス 3x3

ゴージャスですね。私の午後は後悔がありませんでした。

ただし、ここで、もう少し複雑なケースに進みます。

マトリックス 4x4

ご覧のとおり、数字は一致しません。負の数を正の数と一致させる厄介な方法 を見つけましたが、私の方法にはこれに近づく方法がありません(これが私の基本的な概要です):

<Type ...>
    <DisplayString>...</DisplayString>
    <Expand ...>
        <Synthetic ...>
            <DisplayString ...>...</DisplayString>
        </Synthetic>
        ...
    </Expand>
</Type>

何が起こっているかというと、印刷される桁数は数字によって異なります。

したがって、私の質問:デバッグ用に明確に定義された桁数を出力するように Natvis を構成できますか? あるいは、巧妙な回避策がありますか?


PS: 私がこれを機能させることができれば、".natvis" ファイルを生成する Python スクリプトを喜んでアップロードします。

4

2 に答える 2