[vz-dev] 1wirevz Segmentation fault

Thorben Thuermer r00t at constancy.org
Thu Sep 5 14:08:39 CEST 2013


On Thu, 5 Sep 2013 13:59:30 +0200
W3ll Schmidt <w3llschmidt at gmail.com> wrote:
> Hallo Ihr Zwei ...
> 
> Am 5. September 2013 13:32 schrieb Andreas Brus <andreas at brus.name>:
> > Am 05.09.2013 03:24, schrieb Thorben Thuermer:
> >> On Wed, 04 Sep 2013 23:32:02 +0200 Andreas Brus <andreas at brus.name>
> >> wrote:
> >>> Die Variable geht schon innerhalb der Schleife beim dritten Durchlauf
> >>> kaputt:
> >>>
> >>> hast du die vorgeschlagene aenderung (das array erstmal einfach auf
> >>> vier elemente vergroessern) ausprobiert?
> >>>
> 
> char sensorid[4][32][17]
> 
> Das wird nichts nutzen, ich adressiere mit dem dreidimensionalen Array die drei
> 
> Busmaster (0,1,2) und pro Busmaster 32 Sensoren a 16 Stellen ...

nein.
du benutzt die array-offsets 1-3,
in einem array[3] in C sind aber nur die offsets 0-2 gueltig!
siehe:

On Wed, 4 Sep 2013 20:53:11 +0200 Thorben Thuermer <r00t at constancy.org> wrote:
> On Wed, 04 Sep 2013 19:54:20 +0200
> Andreas Brus <andreas at brus.name> wrote:
> > (gdb) print vzuuid
> > $4 = {{'\000' <repeats 63 times> <repeats 32 times>}, {'\000' <repeats 
> > 63 times>,
> >      "589a4a00-fe87-11e2-8991-e7a40a4b0f78", '\000' <repeats 27 times>,
> 
> vzuuid sieht komisch aus, ist aber ok weil ja ein array,
> nur der erste eintrag ist leer, weil die offsets erst ab 1 benutzt werden:
> 236             count = 1;
> aber C-arrays bei 0 anfangen.
> vlt ist das schon der bug? versuche mal da eine 4 einzutragen,
> denn die [3] bedeutet dass nur die eintrage 0-2 gueltig sind!:
>  54 char sensorid[3][32][17], vzuuid[3][32][64],


More information about the volkszaehler-dev mailing list