1
私はarma Matrixを使用しています。デバッグ中に値を調べたいと思います。 は、だから私は以下のようにnatvisファイルを追加します。ビジュアルスタジオ2015で.natvisファイルを使用して多次元配列のデバッグをカスタマイズします。
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="arma::Mat<*>">
<DisplayString>{{ Size = {n_rows} x {n_cols} }}</DisplayString>
<Expand>
<Item Name="[size]">n_elem</Item>
<ArrayItems>
<Direction>Backward</Direction>
<Rank>2</Rank>
<Size> $i==0?n_rows:n_cols </Size>
<ValuePointer>mem</ValuePointer>
</ArrayItems>
</Expand>
</Type>
</AutoVisualizer>
しかし、それがすべてでは動作しません。遅かれ早かれ、私は問題が
<Size> $i==0?n_rows:n_rows </Size>
だから私は、次のステートメントのいずれかと交換しようと、私は次の文のいずれかをしようとした場合、それは、しかし
<size> $i==0?5:8 </Size>
<size> $i==0?n_rows:8 </Size>
<Size> $i==0?5:n_cols</Size>
を働くかもしれrelize
私はもう何も得ません
<size> $i==0?n_rows:n_cols </Size>
<size> $i==0?n_rows:n_rows </Size>
ところで、私はNatvis診断メッセージを回しましたエラーリストには何もありません。任意の助け
おかげ
私の理解が、それは誤りではないだろうということです、それだけでデバッガウィンドウが認識できなかったことを意味しArrayItemsの下にある特定のタグ/プロパティのパラメータについては、ここで「ArrayItems Expansion」の使用方法についてこのサンプルをご覧ください:https://code.msdn.microsoft.com/windowsdesktop/Writing-type-visualizers-2eae77a2 –
Thanks Jack、 1D配列の例を示しています。また、私はMSDNの説明を読んで、 のサイズ[$ i]を使用しました。つまり、サイズは1 * 2の配列に格納され、if文なしで呼び出すことができます。しかし、私はarmadilloを使用しており、行列のサイズは配列の代わりに2つのintで定義されています。 –
user3003238
1つのドライブで簡単なサンプルを共有できますか?私はあなたと同じ環境を使って私の側でそれをデバッグします。 –