2009-06-09 47 views
196

Visual Studioデバッガで配列を表示できますか? QuickWatchは配列の最初の要素のみを表示します。Visual Studioデバッガで配列を表示しますか?

+2

http:// support Microsoft Windows/kb/198953 – becko

+0

CArrayの場合、ウォッチウィンドウでarray.m_pData [pos]またはarray-> m_pData [pos](ケースに応じて)を書き込むと、posの配列の内容が表示されますポジション! – sergiol

答えて

475

C + +のこのすてきなトリックを試すことができます。あなたに配列を与えて、コンマと見たい要素の数を加えた式を取ってください。その値を展開すると、要素0-(N-1)が表示されます。ここで、Nはコンマの後に追加する数値です。

たとえば、pArrayが配列の場合、ウォッチウィンドウにpArray,10と入力します。

+8

信じられないほどの発見。ただし、即値でのみ機能し、算術演算や動的メンバーアクセスは許可されません。 –

+17

デバッグビューでキャストを使用することもできます。 'pArray'が' void * '型の場合、'(char *)pArray、10'とタイプすると、配列の内容をcharと解釈して表示します。 – Machtl

+0

Visual Studio 2008 Expressでこれを行うことはできません。ウォッチウィンドウに式 "a + 1,2"を追加すると、次のエラーが発生します。 "エラー:+は 'pArray'と '1'で実行できません。どのバージョンのVSを使用していますか? –

1

マウスカーソルを配列名の上に置いて表示される小さな(+)アイコンの上にカーソルを置きます。

+14

C++の場合、これは最初の要素のみを表示します – JaredPar

13

メモリが動的に割り当てられたアレイを表示しようとしていますか?表示されていない場合は、C++とC#の配列をデバッガのウォッチウィンドウに表示し、マウスの左ボタンでウォッチウィンドウの少し(+)に配列を展開すると内容が表示されます。

動的に割り当てられた配列へのポインタの場合、ポインタのN個の内容を表示するには、デバッガのウォッチウィンドウに "pointer、N"と入力します。 Nは整数でなければならないことに注意してください。デバッガは内容にアクセスできないというエラーを表示します。表示された小さなアイコン(+)を左クリックして内容を表示します。

18

私は、Visual Studio用のArrayDebugViewアドイン(http://arraydebugview.sourceforge.net/)を使用します。

それは長い死んだプロジェクトですが(私は自分自身を続けていますが)、アドインはVS2010でC++とC#の両方で美しく動作します。

いくつかの癖(タブオーダー、モーダルダイアログ、クローズボタンなし)がありますが、それを補うものよりもグラフの配列の内容をプロットする能力があります。

編集:2014年7月:私はついに、ArrayebugViewの機能を置き換える新しいVisual Studio拡張機能を構築しました。 VIsual Studio GalleryでArrayPlotterを検索するか、またはhttp://visualstudiogallery.msdn.microsoft.com/2fde2c3c-5b83-4d2a-a71e-5fdd83ce6b96?SRC=Homeに移動します

+0

偉大だがサポートはしませんVS2013 ?? VSIXInstaller.NoApplicableSKUsException:この拡張機能は現在インストールされている製品にはインストールできません。サポート対象製品: Microsoft.VisualStudio.Pro バージョン:[10.0] バージョン:[11.0] バージョン:[12.0] バージョン:[14.0] – Gregory

+2

それが何をすべき!私はVS2013でそれを開発しました! VS2013(サービスパック/エディション)のどのバージョンを実行していますか? エクステンションマネージャ(オンラインセクション)でArrayPlotterを検索すると、その中に利用可能なArrayPlotterが表示されますか? –

+0

美しいツールVS2013でうまく動作します。 –

61

大きな配列を持ち、配列のサブセクションのみを表示したい場合は、これをウォッチウィンドウに入力できます。

ptr+100,10 

ptr [100]から始まる10個の要素のリストを表示します。表示された配列の添字は[0]から始まるので、ptr [0]は本当にptr [100]であり、ptr [1]はptr [101]などであることに注意してください。

関連する問題