eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingrzadki bład w programie w C++ › Re: rzadki bład w programie w C++
  • X-Received: by 2002:a0c:d6cd:: with SMTP id l13mr15949858qvi.24.1629745078985; Mon,
    23 Aug 2021 11:57:58 -0700 (PDT)
    X-Received: by 2002:a0c:d6cd:: with SMTP id l13mr15949858qvi.24.1629745078985; Mon,
    23 Aug 2021 11:57:58 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
    e.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!
    peer.ams1.xlned.com!news.xlned.com!peer03.iad!feed-me.highwinds-media.com!news.
    highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!goo
    gle-groups.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Mon, 23 Aug 2021 11:57:58 -0700 (PDT)
    In-Reply-To: <c...@g...com>
    Injection-Info: google-groups.googlegroups.com;
    posting-host=2a00:f41:802a:248a:7433:18c1:aae3:b995;
    posting-account=mS0KPgoAAADZcluTt2TzDVj-t27h6coX
    NNTP-Posting-Host: 2a00:f41:802a:248a:7433:18c1:aae3:b995
    References: <9...@g...com>
    <4...@g...com>
    <2...@g...com>
    <c...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <3...@g...com>
    Subject: Re: rzadki bład w programie w C++
    From: Robert Magdziarz <r...@g...com>
    Injection-Date: Mon, 23 Aug 2021 18:57:59 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 5394
    Xref: news-archive.icm.edu.pl pl.comp.programming:215565
    [ ukryj nagłówki ]

    poniedziałek, 23 sierpnia 2021 o 16:48:49 UTC+2 Maciek Godek napisał(a):
    > poniedziałek, 23 sierpnia 2021 o 16:04:12 UTC+2 r...@g...com napisał(a):

    > > poniedziałek, 23 sierpnia 2021 o 15:44:35 UTC+2 Maciek Godek napisał(a):
    >
    > > w pliku cache.xml mam atrybut strs="" a powinien być niepusty string
    > No dobra, to już jest coś.
    > A teraz kilka pytań bardziej konkretnych: w jaki sposób i w jakich okolicznościach
    tworzysz plik cache.xml?

    Pod koniec działania programu. Wykorzystuję bibliotkę pugixml (i xml_document). Mam z
    nią problemy, musiałem użyć atrybutu, bo zapisywanie w treści węzła nie działało mi.

    > W jaki sposób atrybut "strs" jest reprezentowany w pamięci podczas działania
    programu?

    vector<string>, robię strs = implode(magic_str, vector<string>)
    moje vector<string> to drugie składowe unordered_map<wstring, vector<string>>

    > Czy ten atrybut ma w pliku xml tylko jedną instancję, czy może jest wiele obiektów
    posiadających taki atrybut?

    wiele

    > Jakich operacji dokonujesz na obiekcie, który ma zostać zapisany do tego atrybutu?

    push_back(), find(), iteracja z begin() i end()

    > I czy to jest jedyny problem, jaki udało Ci się zaobserwować, czy może jest ich
    więcej?

    to chyba ostatni błąd, wcześniejsze naprawiłem, nowych nie dostrzegam
    miałem problemy z regexami, używam skomplikowanych regexów dla długich tekstów,
    miewałem core dumped, poradziłem sobie wprowadzając ograniczenie na długość tekstu
    (linia w wejściowym pliku tekstowym)
    w programie używam sterty na której allokuje obiekty STL i nie mam 100% pewności czy
    nie naknociłem, z new/delete

    > > > - jak duży jest program
    > > ok. 7 tys wierszy
    > > > - na jakim etapie rozwoju programu pojawił się błąd
    > > w trakcie testowania dokonywałem poprawek w kodzie w miarę jak znajdywałem błędy,
    poprawki mogły coś popsuć
    > Używasz systemu kontroli wersji (np. git) do rozwijania programu?

    nie

    > > > - czy możesz łatwo przepisać program np. na C# albo Javę
    > > nie mogę bo program używa Qt5, ponadto potrzebuję binarkę dla Windows i Linuxa
    > Tutaj akurat Java dałaby radę, ale 7 tysięcy linii kodu to już faktycznie trochę
    jest.
    > > > Możesz też poszukać w okolicy jakiegoś kolegi-programisty, usiąść z nim i
    wspólnie przejrzeć kod.
    > > to byłby dobry pomysł gdyby nie to że teraz nie jestem zatrudniony, pracuję nad
    programem w domu; algorytmy są na tyle skomplikowane że zrozumienie programu przez
    drugą osobę wymagałoby dużego zaangażowania, dużo czasu; całego kodu źródłowego
    nieznajomym wysyłać nie chcę
    > > > Czasem pomaga kompilacja kodu z flagami -Wall albo -Wextra - może pomoże
    wskazać miejsce w kodzie, w którym jest jakieś podejrzane użycie języka.
    > > dzięki, spróbuję; czy polecasz jakieś inne narzędzia? (nie jestem zaawansowany w
    C++, na co dzień programuję w PHP).
    > Możesz spróbować skompilować dwoma kompilatorami (np. clang i gcc) i zobaczyć, czy
    któryś z nich da jakiś dodatkowy komunikat. Poza tym istnieją różne narzędzia do
    statycznej analizy, ale często są płatne i wcale nie ma pewności, czy pomogą.

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: