/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Øh - allokering - linking ???
Fra : Soren Kuula


Dato : 18-09-04 01:34

Hej

Jeg har et program som er linket sammen af en del objektfiler. Fint nok
med det ...

I den ene C fil (x) er der en (static) variabel, som jeg kun initierer
en enkelt gang, men som nogen gange uforklarligt ændrer værdi (GTK
udspyr en masse warnings om at variablen, som peger på en widget, er
u-castbar, eller NULL). Jeg antager at der i en af de andre C-filer er
noget snadderkode som f. eks. skriver ud over enden på et statisk
allokeret (hedder det sådan ?) array eller på en anden måde er inde og
gramse i x's variabler.
Når jeg skifter x ud med en anden implementation af samme headers, går
det også ned en gang imellem - med andre symptomer: Nu er det bare noget
andet som er offer for den rådne kode.

Hvordan pokker kommer jeg i gang med at finde synderen ? Kan jeg spørge
linkeren i hvilen rækkefølge den allokerer dataplads til de forskellige
objekter ? Så kunne jeg nok lede i den lige "før" eller "efter" x. Der
er MANGE objekter, nogle af dem lidt langhårede; håbløst at kigge al
kode igennem.

Andre råd ? Er det værd at sætte sig ind i Electric Fence ? Det er ikke
sikkert at det er et array-problem...

MVH
Søren

 
 
Soren Kuula (18-09-2004)
Kommentar
Fra : Soren Kuula


Dato : 18-09-04 01:37

Soren Kuula wrote:
> Hej
>
> Jeg har et program som er linket sammen af en del objektfiler. Fint nok
> med det ...

Nå ja, det er gcc, og gcc -dumpversion --> 3.3.3

RedHat Core 2.

MVH
Søren




Mogens Hansen (19-09-2004)
Kommentar
Fra : Mogens Hansen


Dato : 19-09-04 06:15


"Soren Kuula" <dongfang@remove.bitplanet.net> wrote in message
news:QoL2d.49495$Vf.2432846@news000.worldonline.dk...
> Soren Kuula wrote:
> > Hej
> >
> > Jeg har et program som er linket sammen af en del objektfiler. Fint nok
> > med det ...
>
> Nå ja, det er gcc, og gcc -dumpversion --> 3.3.3


Prøv et kigge på Valgrind (http://valgrind.kde.org/), den burde kune hjælpe
dig med at finde sådanne problemer.

Venlig hilsen

Mogens Hansen



Anders Melchiorsen (18-09-2004)
Kommentar
Fra : Anders Melchiorsen


Dato : 18-09-04 10:00

Soren Kuula <dongfang@remove.bitplanet.net> wrote:

> I den ene C fil (x) er der en (static) variabel, som jeg kun
> initierer en enkelt gang, men som nogen gange uforklarligt ændrer
> værdi

Du skriver, at du bruger gcc-miljøet. Så vil jeg mene at det er let at
finde ud af, hvornår problemet opstår ved at bruge kommandoen "watch"
fra gdb.


Anders.

--
Min adresse er gyldig i en uge.
Derefter skal (kun) delen '.dJJJ-YY' fjernes.

Soren Kuula (19-09-2004)
Kommentar
Fra : Soren Kuula


Dato : 19-09-04 17:00

Anders Melchiorsen wrote:

> Du skriver, at du bruger gcc-miljøet. Så vil jeg mene at det er let at
> finde ud af, hvornår problemet opstår ved at bruge kommandoen "watch"
> fra gdb.

Hej,

Jeg glemte også at sige -- skidtet fejler aldrig, aldrig under GDB :(

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408183
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste