2D-Array an Funktion (debuggen)



  • Hi,

    ich möchte ein 2D-array, was ich an eine Funktion übergebe, innerhalb der Funktion debuggen bzw. überwachen. Wenn ich beim aufrufen der Funktion mit der Mouse über field gehe, bekomme ich alle 25 Felder angezeigt, wenn ich das dann aber in der Funktion über test mache, bekomme ich nur die ersten 5 Felder angezeigt. Gibt es eine Möglichkeit auch innerhalb der Funktion alle 25 Felder zu sehen ?

    *.h

    private:	// Anwender-Deklarationen
    	int field[5][5];
    	void __fastcall funct( int[5][5] );
    

    *.cpp

    ---------------------------------------------------------------------------
    
    #include vcl.h
    #pragma hdrstop
    
    #include Unit1.h
    ---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource .dfm
    TForm1 Form1;
    ---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent Owner)
    	 TForm(Owner)
    {
     for ( int i = 0; i  5; ++i )
    	{
    	 for ( int j = 0; j  5; ++j )
    		{
    		 field[i][j] = 0;
            }
    	}
    }
    ---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject Sender)
    {
     int x;
    
     funct( field );
    
     x = field[2][2];
    }
    ---------------------------------------------------------------------------
    void __fastcall TForm1::funct( int test[5][5] )
    {
     test[2][2] = 88;
    }
    ---------------------------------------------------------------------------
    


  • Ich bin nicht ganz sicher, ob ich dich richtig verstanden habe, aber sowohl CodeInsight (also Maus über Variable hovern) als auch die Watch List (Fenster links, auf Deutsch glaube ich "Liste überwachter Ausdrücke") zeigen den kompletten Array-Inhalt an:
    http://img4.fotos-hochladen.net/uploads/watchlistwio86ebmn5.jpg
    Zur Watchlist muss man die gewünschte Variable natürlich per Kontextmenü explizit hinzufügen.



  • Hi Jansen,

    beides geht bei mir nicht, Watchlist sowie Mouse (Builder XE). In deinem Screenshot hast du "field" dargestellt, das geht bei mir auch, aber wenn ich bei Zeile 35 einen Breakpoint setze und die Mouse über "test" halte, dann bekomme ich nur die ersten 5 Felder angezeigt.


Log in to reply