3
私は、関連する2つの長さでchar*
バッファを保持するカスタムデータ構造を持っている:最大と実際の長さ:Visual Studioの(2015)ではリミット表示
struct MyData {
char* data;
int length;
int capacity;
};
デバッガビジュアライザー私はdata
バッファの最初のlength
要素を表示し、残りの要素は(通常は初期化されていない)表示しません。
私は私のカスタムデータ構造を表示するための私のカスタム.natvis
ファイルに次のルールをしました:
<Type Name="MyData">
<DisplayString>content="{data,su}" length={length}</DisplayString>
</Type>
がdata[0]
からdata[length-1]
に「su
」でエンコード文字列としてのみ表示data
にそれは可能ですか?
'データ[長さ]' 'であれば '\ 0''その後、ほとんどのデバッガが\ 0 beoindは何も表示されません。 –
残念ながら、私が取り組んでいるこのレガシーコードは、常に\ 0終了文字列ではありません。私は知っている、少し怖い。 –
次に、デバッガがlength-in-useが 'length'であることを知る方法はわかりません。あなたができることは、メモリを割り当てるときにゼロ( 'calloc' ot' memset'を使用して) '\ 0'(' data'が異なる長さで再使用されない限り)があることです。 –