eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingtypologia errorow aplikacjiRe: typologia errorow aplikacji (a jeszcze leipaj i realoki)
  • Data: 2011-05-02 21:04:26
    Temat: Re: typologia errorow aplikacji (a jeszcze leipaj i realoki)
    Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    > zas jesli mam wewnetrzny alokator na statycznej tablicy to jesli nie
    > zaznacze (np po zestrzeleniu samolotu) ze dany rekord z danymi
    > jest nieuzywany i gotowy do nadpisania, to nie jest to leak tylko
    > wewnwtrzny blad w programie (pamiec sie nie urywa tylko jest
    > blednie pooznaczana jako zajeta)
    Na tym polega leak - pamięć nie jest używana a jest oznaczona jako
    zajęta (tylko w libc a nie bezpośrednio w twoim kodzie).

    > - bardzo gruby:
    Oj tak. Wycieki pamięci to bardzo grube błędy.

    > - takie rzeczy sie raczej wogole nie zdarzaja, (tj trudno tego nie
    > zauwazyc)
    Takie błędy bardzo ciężko zauważyć. Jeżeli np po wyleceniu za planszę
    samolot jest z niej usuwany, ale nie zwalnia miejsca w statycznej
    tablicy samolotów to zauważysz to dopiero po dłuższym czasie i w
    kompletnie innym miejscu (przy próbie utworzenia nowego samolotu).


    > , sa to wewnerzne bledy w kodzie (bledy stanu danych,
    Właśnie. Pozbyliśmy się wskaźnika, który jest nam ciągle potrzebny, bo
    wskazuje na dane.

    > co nabralo odrebnego abstrakcyjnego znaczenia jako 'leak' (a co
    > oznacza ze gdzies sie urwal kawalek ramu nie wiadomo gdzie nie
    > wiadomo co, zgubiony ram nawet stracil swoja referencje bo ta ktora
    > kiedys go trzymala juz wskazuje na cos innego)

    Myślisz zbyt meta-magicznie-niskopoziomowo - wyciek zasobu (nie musi to
    być pamięć - mogą być deskryptory plików, sockety, muteksy, etc) jest
    wtedy gdy po użyciu zapominasz odłożyć zasób na swoje miejsce. Czy to
    będzie close(fd), czy to będzie free(ptr), czy to będzie
    tablica_samolotow[x].wolny=true - nie ma znaczenia.

    Jedna istotna różnica jest taka, że przy statycznych tablicach to trochę
    szybko wychodzi, ale wystarczy wypisywać przy każdym malloc/free
    komunikat, żeby prosto znaleźć co nei zostało zwolnione. Albo użyć
    przeznaczonych do tego narzędzi jak np valgrind.


    > o ile pamietam to z niektorymi powinienem nie rozmawiac (poki nie
    > przywala glowami ze trzy razy w sciane)
    Ja z Tobą też miałem nie gadać póki nie zaczniesz leczyć depresji, ale
    że piszesz w okolicy sensu to toczę tę pogawędkę, więc 1:1.

    --
    Pozdrawiam
    Michoo

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: