abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:30 | IT novinky

    Seznam dělá každé úterý odstávku svého datacentra a simuluje tak správnost jejich HA řešení. Dnes se ovšem něco pokazilo a má kompletní výpadek. Nejdou webové služby, mapy apod. Kdo by rád věděl něco více o tom, na čem Seznam běží, tak nelze nepřipomenout LinuxDays 2023: Podvozek Seznamu - od cloudu až po Datacentrum (Michal Toužín, Miroslav Bezdička).

    Max | Komentářů: 5
    dnes 12:00 | Komunita

    Na stránkách konference Den IPv6 2024, jež proběhla 6. června v Praze, byly zveřejněny prezentace a videozáznamy.

    Ladislav Hagara | Komentářů: 0
    dnes 11:11 | IT novinky

    Kyberkriminální skupina LockBit se prý nabourala do Federálního rezervního systému (FED) [Security Affairs].

    Ladislav Hagara | Komentářů: 0
    dnes 04:55 | IT novinky

    Zakladatel WikiLeaks Julian Assange je na svobodě (𝕏, 𝕏).

    Ladislav Hagara | Komentářů: 1
    včera 13:11 | Upozornění

    V neděli 30. června skončí (EOL) podpora CentOS Linux 7.

    Ladislav Hagara | Komentářů: 11
    včera 10:44 | Zajímavý článek

    David Tschumperlé a Garry Osgood v obšírném článku se spoustou náhledů shrnují vývoj multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie) za poslední rok.

    Ladislav Hagara | Komentářů: 2
    23.6. 13:22 | IT novinky

    Andrew S. Tanenbaum byl oceněn 2023 ACM Software System Award (Wikipedie) za operační systém MINIX.

    Ladislav Hagara | Komentářů: 2
    23.6. 10:22 | Komunita

    Celkový počet stažení aplikací z Flathubu překročil 2 miliardy. Aktuální Statistiky Flathubu: Celkový počet stažení 2 002 793 783. Celkem desktopových aplikací 2 636.

    Ladislav Hagara | Komentářů: 20
    21.6. 23:33 | Nová verze

    Byla vydána nová verze 4.8.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    21.6. 23:11 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 142 (pdf) a HackSpace 79 (pdf).

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    stokrat nic zabilo vola....a i jednou nic mne nici

    22.1.2007 00:39 | Přečteno: 1459× | programovani | poslední úprava: 22.1.2007 00:40

    Tenhle zapisek je o nejhorsi veci na programovani, trivialni chyby s fatalnimi dusledky.

    Prepisy ve jmenech promennych pri vhodne zvoleny pojmenovaci konvenci jsou v pohode (tzn ze nejsou u sebe moc blizko a taky se jejich jmena nedaji snadno splest). Proste kompilator rekne pomerne srozumitelnou hlasku, ale jsou horsi veci, kdy se objevi v zdnalive bezproblemovym kodu podivna hlaska.

    Podobna se mi stala nedavno:

    for(i=0;i<10;i++);
    {
        pthread_join(thread[i],NULL);
        pthread_join(thread[i+10],NULL);
    }

    Takovy jednoduchy kod, ktery ceka az vsechny thready(20) zpracuji svoji ulohu. No a program obcas zatuhne, obcas hodi SIGSEG a ted kde ladit, kdyz to pise ze ta chyba je v pthread_join. No je to na infarkt najit chybu, ktera je fakt trivialni a vznikla obycejnou nepozornosti, pri vimovskym vkladani.Kdyz sme u toho nevite o nejakym unixovym programu pro refactoring C/C++ kodu??? Presne pro tohle by se to hodilo, protoze by to znovu zformatovalo text a prikaz by pekne sel na samostatnou radku.

    A zrovna dneska dalsi takova trivialitka co dokaze poradne otravit. K programu sem si chtel v ramci uspory mista udelat jednoduchy zipovani dat se kterymi se pracuje. Jen jednoduchej fork + exec. a potreboval sem to umistit jako pruchodovy. Kod na par radek a staci prohodit parametry v dup2 a hned zacne bzip2 hazet podivny hlasky o i/o error, z kterych se toho moc nepozna. Nastesti jeste ze existuje funkce fstat, ale stejne cloveka takovyhle veci otravi, kdyz musi v gdb overovat i to co vidi ze je dobre.

    Pouzivate neco(program, programovaci technika) proti takovymhle otravnym chybam, ktery zbytecne zabiraj cas pri debugovani?
    no zaverem jen poprat vsem co nejmin podobnych chyb.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    wake avatar 22.1.2007 01:00 wake | skóre: 30 | blog: wake | Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    jo, perl a { za ) ... ;-)
    Tento příspěvek má hlavičku i patičku!
    22.1.2007 01:10 qk | skóre: 15 | blog: qk_develop
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    jj, taky to obcas pouzivam, ale ne vzdy mam moznost delat na vlastnim programu s vlastni konvenci formatovani, proto by se hodil nejakej nastroj na refactoring, abych mohl psat ve svem stylu a posilat a prijimat v definovanem nekym jinym. Tohle je treba naprosto vyborny u Eclipse(bohuzel CDT neumi tohle pro C/C++).
    lankvil avatar 22.1.2007 03:12 lankvil | skóre: 8 | Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Na formatovani kodu v c se da pouzit napriklad indent. Po prohledani debianich balicku na me vypadlo i bcpp coz by melo fungovat i na c++ ale nezkousel sem to.

    Jinak takovy zakerny chyby nastvou to je fakt :) zvlast kdyz mas tech vic vlaken a spadne to jenom obcas
    Já mám taky blog
    22.1.2007 08:08 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Multithreadové aplikace zásadně padají jen občas. Nejvíc to naštve, když ta mrcha padá jen na produkčním stroji a na testovacím ne a ne spadnout, přestože člověk nasimuluje několikanásobnou zátěž oproti tomu produkčnímu…
    22.1.2007 12:16 qk | skóre: 15 | blog: qk_develop
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    diky, ten indent vypada zajimave, urcite zkusim.
    22.1.2007 08:06 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    vim: :set autoindent

    btw, odporúčam začať používať (x)emacs :-) kto nevyskúša, nepochopí :-D

    22.1.2007 15:25 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    btw ++ :)
    22.1.2007 08:55 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Prepisy ve jmenech promennych pri vhodne zvoleny pojmenovaci konvenci jsou v pohode (tzn ze nejsou u sebe moc blizko a taky se jejich jmena nedaji snadno splest). Proste kompilator rekne pomerne srozumitelnou hlasku,…
    To je ten šťastnější případ. Vzhledem k masivnímu skriptování webových stránek na straně klienta se nyní ukazuje JavaScript jako dynamický jazyk bez nutnosti deklarace proměnných jako ne příliš šťastná volba pro klientské skriptování. Resp. pro několika řádkové skripty by stačil, ale to co se píše dnes… O nějaké srozumitelné hlášce se může programátorovi jenom zdát, a chybu v tom, že proměnnou elements jednou jedinkrát napíšete jako element můžete hledat klidně několik hodin (protože co je to platné vyvíjet primárně ve Firefoxu, když ta chyba je zrovna v kódu, který obchází nějaký nedodělek MSIE)… Doufám, že se dožiju renesance Java Appletů v prohlížečích, byť by i byly skryté a pouze manipulovali s DOMem prohlížeče, jako to dnes dělá JavaScript.
    22.1.2007 09:10 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    asi blbá otázka: vy kód negenerujete? :-D

    imho za väčšinou chýb stojí nevhodne zvolený postup vývoja :-)
    A vami spomínaný príklad s obchádzaním chýb? To je také ťažké vytvoriť si jednu medzivrstvu s rovnakým interface, implementovanú pre každý browser zvlášť? Pravda, medzivrstvovať či nemedzivrstvovať, to otázka. :-)

    22.1.2007 09:19 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Generujeme, i když vstup je vlastně šablona JavaScriptu, kde se nahrazuje pár věcí – takže žádný GWT (to by byl kanón na vrabce).

    Mezivrstva tam samozřejmě je, bohužel překlep byl právě v té implementaci pro MSIE6. Při trochu složitějších skriptech bohužel hlášky MSIE o typu chyby a jejím místě jsou zcela nezávislé na tom, kde chyba skutečně je :-(
    22.1.2007 09:22 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Při trochu složitějších skriptech bohužel hlášky MSIE o typu chyby a jejím místě jsou zcela nezávislé na tom, kde chyba skutečně je

    Podle mne je za vším ta zpropadená zpětná kompatibilita. Tahle tradice pochází už z dob CP/M, která měla pro všechny chyby celkem tři různé hlášky… :-)

    22.1.2007 09:38 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    No v Javě by se ti to nestalo, protože bys napsal for (int i = ...
    22.1.2007 10:31 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Což ovšem lze i v C++ a možná i v C99…
    DjAARA avatar 22.1.2007 12:32 DjAARA | skóre: 32 | Praha|Náklo|Olomouc
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    ano for (int i=…) v C99 lze
    22.1.2007 12:40 Scarabeus IV | skóre: 20 | blog: blogisek_o_gentoo | Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    C99 by mel nadavat..., ale v cpp to jde urcite
    22.1.2007 12:43 Scarabeus IV | skóre: 20 | blog: blogisek_o_gentoo | Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    for(int i=0;i<lines;i++)
    matice.c:32: error: ‘for’ loop initial declaration used outside C99 mode
    22.1.2007 13:00 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Což ovšem naopak v praxi znamená, že v C99 je to korektní, ale zapomněl jste parser přepnout na C99 syntaxi.
    22.1.2007 15:48 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Přesně tak, sám občas použiju :), ale pak to zase při čištení kódu vybírám, protože mi to přijde jako nekompatibilní prasárna :)... (kdyby byl jediný překládač gcc...)
    Baník pyčo!
    22.1.2007 16:29 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Označovat ISO standard výrazem nekompatibilní prasárna bych označil za vpravdě revoluční počin… :-)
    23.1.2007 14:12 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Třeba dělá v MS… ;-)
    22.1.2007 13:15 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Podle gcc v C99 určitě, respektive, bez --std=c99 se mi podobná konstrukce nepovedla přeložit. Horší je Visual Studio, které vyžaduje příponu .cpp, jinak to nahlásí jako chybu.
    When your hammer is C++, everything begins to look like a thumb.
    22.1.2007 13:27 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Okýnkáři a to jejich lpění na příponách… :-D Když nemohli rozlišit .c a .C, vymysleli si .cpp. :-D
    22.1.2007 14:25 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    oni by aj rozlišovali, ale .c++ zapísať nevedeli :-)
    22.1.2007 14:55 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    Nejsem si jistý, zda Visual Studio vůbec podporuje aspoň něco z C99. Typicky se třeba kvůli nim u multiplatformních projektů obcházejí standardní typy z <stdint.h>
    elviin avatar 23.1.2007 11:41 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    afaik vs nevyzaduje priponu. Ted jsem prelozil s vs2005 soubor, ktery jsem prejmenoval z test5.cpp na test5:
    1>------ Build started: Project: test002, Configuration: Debug Win32 ------
    1>Compiling...
    1>test5
    1>Build log was saved at "file://d:\Projects\test002\test002\Debug\BuildLog.htm"
    1>test002 - 0 error(s), 0 warning(s)
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
    
    22.1.2007 15:17 me
    Rozbalit Rozbalit vše Re: stokrat nic zabilo vola....a i jednou nic mne nici
    tak to se me jeste nikdy nestalo.... (a to v C++ programuju leta...)

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.