acces violation of address ... read of address FFFFFFF

0

dlaczego właściwie wyskakuje ten błąd?
dzieje sie to u mnie gdy klient sie rozłącza. poza tym kiedyś też mi to wyskakiwało ale po restarcie przestawało.

dodam, ze nie na wszystkich komputerach to sie wyświetla ten komunikat, chociaż program jest ten sam.

0

to jest błąd dojścia do pamięci, ale czasami świruje z tym że nie wiadomo o co chodzi, i to nie wina już programu tylko komponentów użytych - mają często jakieś luki, no ale jeśli błąd wyskakuj za każdym razem to możesz debugować żeby zobaczyć czy to może błąd w twoim kodzie - może się odwołujesz np do TStrings na pozycję której nie ma, za wcześnie coś niszczysz, albo w ogóle, ogólnie co się da to zabezpiecz if'ami i try except end, jak możesz to zmień użyte komponenty albo ściągnij ich nowszą wersję

0

Na 99% odwołujesz się do nieistniejącego obiektu, lub nieprawidłowo używasz pointerów (np. przesuwając się po fizycznych adresach bez pewności że zaalokowany fragment pamięci jest ciągły). Jeśli chodzi o pointery to prawdopodobnie tak by się zachowywał program, czasem działał, czasem nie, najczęściej działał po restarcie (prawdopodobieństwo że zaalokowany fragment pamięci jest w 1 kawałku jest największe), na niektórych komputerach działał na iektórych nie. Zależy w jaki sposób jest rezerowana pamięć pod zmienne po których poruszasz się używając zmian fizycznego adresu.

0
daban napisał(a)

Zależy w jaki sposób jest rezerowana pamięć pod zmienne po których poruszasz się używając zmian fizycznego adresu.

A dla jakich zmiennych pamięć może być rezerwowana w sposób nieciągły?

0

wydaje mi sie ze nie odwoluje sie do zabitego stringa ani nic z tych rzeczy, chyba jednak blad komponentow. podejrzane jest jeszcze to, ze na jednym kompie działa normalnie, a na drugim nie :|
dziekuje za podpowiedzi.

0

Nie ejstem pewien jak alokują pamieć np. GetMem czy AllocMem. Nigdy nie potrzebowałem poruszać się po takich obszarach poprzez fizyczne adresy więc sięnei interesowałem czy fizycznie obszar pamięci jest ciągły czy nie. Dawno temu pisałem w C programik RPC i tam spotkałęm się z takim problemem, że neiktóre komendy alokują ciagłe obszary pamięci, a inne nie. Z tego powdu zwróciłem uwagę na taki aspekt - bop ja wtedy długo szukałem błędów w oprogramwoaniu, zwłaszcza ze raz się sprawowąło dobrze, a raz nie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1