/ 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
Ved program slut: Null pointer assignment.~
Fra : N


Dato : 01-08-05 22:02

Hvor kommer denne meddelse fra.

Lige lidt data:

Borland C++ 3.1 (Dos)

Program er lavet til konsol, dvs ren tekst, intet grafik.

Hvad gør i andre for at finde løbske pointere. Er der nogle gode tips.

Tilsyneladende virker programmet men altså engang imellem fås denne
fejltekst og først efter at program er termineret.
Teksten kommer i dos vinduet efter program slut.


Allan



 
 
Kent Friis (01-08-2005)
Kommentar
Fra : Kent Friis


Dato : 01-08-05 22:14

Den Mon, 1 Aug 2005 23:02:11 +0200 skrev N:
> Hvor kommer denne meddelse fra.
>
> Lige lidt data:
>
> Borland C++ 3.1 (Dos)
>
> Program er lavet til konsol, dvs ren tekst, intet grafik.
>
> Hvad gør i andre for at finde løbske pointere. Er der nogle gode tips.
>
> Tilsyneladende virker programmet men altså engang imellem fås denne
> fejltekst og først efter at program er termineret.
> Teksten kommer i dos vinduet efter program slut.

Slår alle warnings til.

Hvis det ikke finder fejlen - kører programmet i en debugger og kigger
på backtrace'n. Hvis det heller ikke hjælper - single-step'er igennem
programmet med debuggeren.

Mvh
Kent
--
Hard work may pay off in the long run, but lazyness pays off right now.

Bertel Brander (01-08-2005)
Kommentar
Fra : Bertel Brander


Dato : 01-08-05 22:47

N wrote:
> Hvor kommer denne meddelse fra.
>
> Lige lidt data:
>
> Borland C++ 3.1 (Dos)
>
> Program er lavet til konsol, dvs ren tekst, intet grafik.
>
> Hvad gør i andre for at finde løbske pointere. Er der nogle gode tips.
>
> Tilsyneladende virker programmet men altså engang imellem fås denne
> fejltekst og først efter at program er termineret.
> Teksten kommer i dos vinduet efter program slut.


Du får typisk den besked hvis dit program har skrevet i
invalid memory.
Dette lille program giver beskeden:

#include <stdlib.h>

int main(void)
{
int *p;
p[3] = 1234;
return 0;
}

--
Absolutely not the best homepage on the net:
http://home20.inet.tele.dk/midgaard
But it's mine - Bertel

Niels Dybdahl (18-08-2005)
Kommentar
Fra : Niels Dybdahl


Dato : 18-08-05 08:22

> Hvad gør i andre for at finde løbske pointere. Er der nogle gode tips.

Nogle gange disabler jeg en del af programmet og ser om fejlen så stadig
optræder. Det kan give et fingerpej om hvor problemet kunne være.
Andre gange bruger jeg Boundschecker.

Niels Dybdahl



N (18-08-2005)
Kommentar
Fra : N


Dato : 18-08-05 22:59

> Nogle gange disabler jeg en del af programmet og ser om fejlen så stadig
> optræder. Det kan give et fingerpej om hvor problemet kunne være.
> Andre gange bruger jeg Boundschecker.

Fejlen er fundet. Tak for jeres svar. Det var forsøg på at bruge nogle data
der aldrig var sat op, så logisk nok vil det gå galt.

Allan



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste