ďťż

Ładny brzuch

Zdarzają mi się takie programy które kompilują się bez problemu i wszystko zdaje się działać jednak kiedy pojawia siuę okienko dosu i program startuje wyświetla mi się błąd:

[Stopped] na pasku u góry i obok każdego wersu są kropki a obok któregoś wiersza jest strzałka zielona i komunikat :
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 0043A71A. Write of address 00000000'. Process stopped. Use step or run to continue.
Co jest powodem tego problemu:?:?:?:?

written by mysz@k
cout << "Prawdziwy programista zawiesza sie wraz z programem" ;



hehe, kompilacja to nie wszystko!
to że program się poprawnie skompiluje to nie znaczy, że nie ma w nim błedów, nie ma tylko tych, które potrafił wykryć kompilator, ale są także inne błędy

w twoim przypadku - komunikat świadczy, że próbujesz coś zapisać pod zerowym adresem pamięci, a to jest niedozwolone stąd bierze się błąd

musisz odnaleźć błąd w swoim programie i poprawić go, np. skorzystaj z debugera, wykonuj program krok po kroku i zobacz w którym miejscu pojawia się błąd

może to być np. coś takiego:
char * pStr = NULL;
char szText[] = "Jakiś napis";
strcpy(pStr, szText); // <======= BŁŚD! funkcja spróbuje zapisać pod adresem ZERO

A jak się korzysta z debbugera:?
To jest wykrywacz błędów, tak??

written by mysz@k
cout << "Prawdziwy programista zawiesza sie wraz z programem" ;

nie, wykryć błędy musisz sam, debuger moze ci w tym tylko pomóc
zapewne do środowiska borland C++ dodany jest jakiś debuger?

debuger to program, który pokaże ci jak twój program wykonuje się linijka po linijce, jakie wartości przybierają zmienne itp.

jak się z niego korzysta - to już zależy od debugera, popytaj kogoś kto zna borlanda



patrzac na twoj opis bledu obstawiam, ze uzywasz nie borlanda c++ [to byl taki dosowy kompilator ;)] tylko borland c++ builder.
builder zawiera bardzo dobre narzedzie - CodeGuard - ktore znajduje sie [chyba] we wszystkich wersjach [nie jestem pewien wersji personal]. Generalnie CodeGuard znajduje bledy wywolan funkcji [zle parametry, zle zwracane wartosci] oraz bledy uzycia pamieci/zasobow [zla alokacja/brak alokacji/brak zwolnienia pamieci zle uchwyty do strumieni/plikow/itp]. jest to naprawde rewelacyjne narzedzie i jesli mamy w projekcie ustawiony full debug, potrafi ono pokazac dokladne miejsce w kodzie, gdzie pojawia sie problem.
aby odpalic CodeGuard nalezy z menu project wybrac options, nastepnie na zakladce CodeGuard zaznaczyc wszystkie 4 checkboxy i profilaktycznie na zakladce Compiler kliknac przycisk Full debug.

pozdrawiam
pepsi^no1

Ja mam chyba właśnie tą wersję personal.Bo jak się rejestrowałem to właśnie na personal.Przynajmniej z tego co pamiętam. Nie mam tej zakładki Codeguard,ale profilaktycznie kliknąłem Full debug.:lol:

Aha.
cytat:borlanda c++ [to byl taki dosowy kompilator ;)]
Wiem że borland C++ 3.1 jest pod dosa. Nie jestem aż taki ciemniak:!:!:P:frown::twisted:

written by mysz@k
cout << "Prawdziwy programista zawiesza sie wraz z programem" ;

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •