-
151. Data: 2021-09-21 12:07:25
Temat: Re: rzadki bład w programie w C++
Od: heby <h...@p...onet.pl>
On 21/09/2021 11:59, Robert Magdziarz wrote:
> Udało mi się znowu wygenerować kilka razy przypadek strs=="" z wiersza poleceń.
Niestety program uruchomiony pod VSCode z debugowaniem (ten sam exec i te same
argumenty i te same dane wejściowe) daje strs!="".
> Jak to wytłumaczyć?
Innymi śmieciami na stosie lub heapie.
Sprawdź, czy zmiana optymalizacji na różne kombinacje, nie ma na to wpływu.
Masz duża szansę na urwaną referencję wskazujacą w kosmos.
-
152. Data: 2021-09-21 17:56:07
Temat: Re: rzadki bład w programie w C++
Od: Maciek Godek <g...@g...com>
wtorek, 21 września 2021 o 11:59:03 UTC+2 Robert Magdziarz napisał(a):
> Udało mi się znowu wygenerować kilka razy przypadek strs=="" z wiersza poleceń.
Niestety program uruchomiony pod VSCode z debugowaniem (ten sam exec i te same
argumenty i te same dane wejściowe) daje strs!="".
Pytanie, czy udaje Ci się konsekwentnie dostawać tę sytuację dla tych samych danych
wejściowychl, w tych samych okolicznościach?
(jeżeli tak, to to jest światełko w tunelu)
> Jak to wytłumaczyć?
W jednym zdaniu tak: "oprogramowanie jest skomplikowane"
-
153. Data: 2021-09-22 08:19:44
Temat: Re: rzadki bład w programie w C++
Od: Robert Magdziarz <r...@r...e-kei.pl>
wtorek, 21 września 2021 o 17:56:08 UTC+2 Maciek Godek napisał(a):
> wtorek, 21 września 2021 o 11:59:03 UTC+2 Robert Magdziarz napisał(a):
> > Udało mi się znowu wygenerować kilka razy przypadek strs=="" z wiersza poleceń.
Niestety program uruchomiony pod VSCode z debugowaniem (ten sam exec i te same
argumenty i te same dane wejściowe) daje strs!="".
> Pytanie, czy udaje Ci się konsekwentnie dostawać tę sytuację dla tych samych danych
wejściowychl, w tych samych okolicznościach?
teraz mam strs=="" i z wiersza poleceń i pod debugerem
-
154. Data: 2021-09-22 08:22:51
Temat: Re: rzadki bład w programie w C++
Od: Robert Magdziarz <r...@r...e-kei.pl>
środa, 22 września 2021 o 08:19:45 UTC+2 Robert Magdziarz napisał(a):
> teraz mam strs=="" i z wiersza poleceń i pod debugerem
przepraszam, pomyłka: strs!="" i z wiersza poleceń i pod debugerem
-
155. Data: 2021-09-22 09:27:59
Temat: Re: rzadki bład w programie w C++
Od: heby <h...@p...onet.pl>
On 22/09/2021 08:19, Robert Magdziarz wrote:
> teraz mam strs=="" i z wiersza poleceń i pod debugerem
I co jest na callstacku?
-
156. Data: 2021-09-22 11:59:01
Temat: Re: rzadki bład w programie w C++
Od: Robert Magdziarz <r...@r...e-kei.pl>
środa, 22 września 2021 o 09:28:04 UTC+2 heby napisał(a):
> On 22/09/2021 08:19, Robert Magdziarz wrote:
> > teraz mam strs=="" i z wiersza poleceń i pod debugerem
> I co jest na callstacku?
Jak pisałem, pomyliłem się w poście: powinno być: teraz mam strs!="" i z wiersza
poleceń i pod debugerem
-
157. Data: 2021-09-22 12:53:02
Temat: Re: rzadki bład w programie w C++
Od: heby <h...@p...onet.pl>
On 22/09/2021 11:59, Robert Magdziarz wrote:
>>> teraz mam strs=="" i z wiersza poleceń i pod debugerem
>> I co jest na callstacku?
> Jak pisałem, pomyliłem się w poście: powinno być: teraz mam strs!="" i z wiersza
poleceń i pod debugerem
Ok, ale to źle czy dobrze? A jak źle, to co jest na callstacku?
-
158. Data: 2021-09-22 13:13:53
Temat: Re: rzadki bład w programie w C++
Od: Robert Magdziarz <r...@r...e-kei.pl>
środa, 22 września 2021 o 12:53:07 UTC+2 heby napisał(a):
> On 22/09/2021 11:59, Robert Magdziarz wrote:
> >>> teraz mam strs=="" i z wiersza poleceń i pod debugerem
> >> I co jest na callstacku?
> > Jak pisałem, pomyliłem się w poście: powinno być: teraz mam strs!="" i z wiersza
poleceń i pod debugerem
> Ok, ale to źle czy dobrze? A jak źle, to co jest na callstacku?
To jest dobrze, tzn. nie jest to przypadek błędnego działania, znowu nie mogę go
wygenerować
-
159. Data: 2021-09-22 16:03:22
Temat: Re: rzadki bład w programie w C++
Od: Maciek Godek <g...@g...com>
środa, 22 września 2021 o 13:13:54 UTC+2 Robert Magdziarz napisał(a):
> środa, 22 września 2021 o 12:53:07 UTC+2 heby napisał(a):
> > On 22/09/2021 11:59, Robert Magdziarz wrote:
> > >>> teraz mam strs=="" i z wiersza poleceń i pod debugerem
> > >> I co jest na callstacku?
> > > Jak pisałem, pomyliłem się w poście: powinno być: teraz mam strs!="" i z
wiersza poleceń i pod debugerem
> > Ok, ale to źle czy dobrze? A jak źle, to co jest na callstacku?
> To jest dobrze, tzn. nie jest to przypadek błędnego działania, znowu nie mogę go
wygenerować
Mnie się zdaje, że debugger będzie tutaj o tyle mało pomocny, że o ile w niektórych
sytuacjach można np. założyć pułapkę na zapis pod konkretny adres, o tyle tutaj
pewnie wszystko się odbywa w pamięci dynamicznej.
Nie wiem, czy są jakieś wizualizatory zawartości pamięci, ale nawet jeśli tak, to nie
spodziewałbym się, żeby dało się z nich coś łatwo wywnioskować.
Raczej bym się opierał na logach: sprawdzałbym (szeroko pojętą) spójność danych przed
i po wywołaniach funkcji bibliotecznych, i jeżeli udałoby mi się zalogować w którymś
miejscu coś podejrzanego, to dopiero wtedy spróbowałbym pracy krokowej.
(Najbardziej komfortowe warunki pracy w takich okolicznościach to oczywiście taka
sytuacja, kiedy błąd zawsze daje się odtwarzać. Dla prostych programów można by było
po prostu zrzucać ramkę stosu, ale nie wiem, na ile dobrze współczesne debuggery
radzą sobie z zawartością sterty)
-
160. Data: 2021-09-22 17:35:57
Temat: Re: rzadki bład w programie w C++
Od: Robert Magdziarz <r...@r...e-kei.pl>
środa, 22 września 2021 o 16:03:23 UTC+2 Maciek Godek napisał(a):
> Mnie się zdaje, że debugger będzie tutaj o tyle mało pomocny, że o ile w niektórych
sytuacjach można np. założyć pułapkę na zapis pod konkretny adres, o tyle tutaj
pewnie wszystko się odbywa w pamięci dynamicznej.
próbuje debugować, żeby sprawdzić co się dzieje w moim algorytmie nie tak, że na
koniec strs=="" a nie strs!=""
moim zdaniem to droga do znalezienia błędu