問題タブ [natvis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - natvis を使用した循環二重リンク リストの視覚化
二重リンク リストのnatvis ビジュアライザーを作成したいと思います。リストにはカウント ノードが格納されておらず、拡張が停止しないため、簡単な方法はうまく機能しません (next は決して null ではなく、リストの最後の項目はリスト ルートを指しています)。
リスト ヘッドと比較する NextPointer に Condition 属性を追加できることを期待しましたが、NextPoint はノードのコンテキストで評価されるため、何と比較すればよいかわかりません。
これは、 #list がこれを自動的に処理していたため、skip ディレクティブを使用して、以前 (2010 年) のビジュアライザーでどのように見えたかを示しています。
#list
無限のトラバーサルから保護され、循環リストに適切に対処します。また、skip:
式を使用して、報告されるべきではないセンチネル ノードを示すこともできます。名前はノードがスキップされることを暗示していますが、実際にはトラバーサルが停止するため、センチネル ノードが最初にある場合は、その後にトラバーサルを開始する必要があります。
ルート要素に再び到達したら、リストの展開を停止する必要があるデバッガーに natvis で説明するにはどうすればよいですか?
c++ - VS2012 で NatVis 経由で UUID を表示する適切な方法を探しています
VS2012 で NatVis 経由で UUID を表示する適切な方法を探しています。私自身の uuid タイプは内部で UUID ビッグ エンディアンを使用するため、Windows では GUID がリトルエンディアンを使用するため、(GUID*) へのキャストは機能しません。そのため、誤って伝えられた uuid が常に表示されます。
さらに、16 進表記を使用すると出力の 0x を取り除くことができないため、Natvis の形式指定子は見栄えがよくありません。何か案は?
c++ - float 変数と double 変数のデバッガー ウィンドウに表示される桁数を制御できますか?
Visual Studio 2012 で、Autos、Locals、および Watch ウィンドウの浮動小数点型の既定の表示をカスタマイズする方法を探しています。私はネイティブ ビジュアライザー (Natvis) ユーティリティに精通していますが、これを実現するためのデバッガーの書式設定機能は見当たりません。同様に、プリミティブ型のデフォルトの表示をオーバーライドする手段を知りません (16 進数を有効にする以外に)。
目標は、ポイント、幾何学的ベクトルなどに対応する型に拡張された桁数の少ない表示文字列を作成することですが、型を展開するとすべての精度が表示されます。たとえば、Autos ウィンドウの中央の列では(0.000, 1.234, 2.429)
なく、ポイント タイプの変数を表示する場合があります。m_x = 0.00000000, m_y = 1.234245213...
このページでフォーマット指定子を調べましたが、浮動小数点の精度を制御する方法がわかりません。
visual-studio-2012 - NatVis: typedefs は許可されていますか?
次のように定義された型があります。
最終的には、NatVis を使用して、メモリにロードしたグローバル文字列テーブルに対応する値を表示するつもりです。
だから私はテスト用に新しいNatVisを定義しました(これは初めてです):
レジストリで NatVis デバッグを有効にしました。.natvis ファイルがデバッガーによって読み込まれ、正常に解析されていることがわかります。
エディット コンティニュもオフにしています。
ただし、コードをデバッグして StringChecksum を調べると、違いは見られず、整数が表示されます。「StringChecksum 3433」のようなものが表示されると思っていました。
NatVis が単純な typedef から定義された型を操作することは可能ですか? 私が見た例はすべてクラスを使用しています。もしそうなら、何が間違っているのでしょうか?
visual-studio-2013 - natvis ビジュアライザーの最初の展開レベルでテンプレート型のメンバーを展開する
shared_ptr
VS2013のデフォルトのビジュアライザーには次のものがあります (多くのものが削除されています!):
これは、デバッガーで、ポイント先のオブジェクトのメンバーを表示するために「メンバー」をshared_ptr
展開してから展開する必要があることを意味します。[ptr]
int へのポインタの階層は次のようになります (生のビュー、アロケータ、およびデリータは無視します)。
[ptr]
ポイント先のオブジェクトのすべてのメンバーを 1 レベル上に配置して、現在位置する階層内のレベルに配置する置換を作成したいと思います。これは代わりに次のようになります。
それを可能にする構文はありますか?shared_ptr
私は、テンプレート パラメーターのすべてのメンバーの表示をサポートするための一般的な構文を探していることに注意してくださいshared_ptr
。
visual-studio - BITMAPINFOHEADERのVS Image Watch拡張natvis?
Visual Studio の Image Watch 拡張機能 ( http://goo.gl/TWre0X ) を使用すると、デバッグ中にメモリ内のビットマップを表示できます。非常に便利ですが、DIB、BITMAPINFOHEADER、または BITMAPINFO オブジェクトだけを表示できるように natvis ファイルを定義しようとして立ち往生しています。
これが私が現在持っているものです:
問題は明らかに「[data]」部分で、ピクセル データのオフセットを計算しようとしています。$ は、natvis ファイルが実際に何を行っているかを理解しようとする弱い試みです。
Image Watch のドキュメントとユーザー定義型のいくつかのサンプル natvis ファイル (BITMAPINFOHEADER がユーザー定義にどのように分類されるか、理由はわかりません): http://goo.gl/zt2uCh
Image Watch の BITMAPINFOHEADER タイプを処理および表示する natvis ファイルを既に持っている人はいますか? または、これを機能させる方法について提案があります。ありがとう。