• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    XCHAOSANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API
    CHEVALIER
    CHEVALIER --- ---
    _BENNY: Já v Anjutě a Glade.
    XCHAOS
    XCHAOS --- ---
    _BENNY: mám talent si v libovolném okruhu diskutérů okamžitě obrátit veřejné mínění proti sobě. občas je to zábavné, ale v téhle kauze to především bylo zbytečné

    FLEGMA: něco takového tuším, že tam je, to jo... ale faktem je, že si dlouho nevzpomínám na projekt, který by třeba tuhnul tak záhadným způsobem, že bych se uchýlil k pouštění gdb na coredump... prostě pro mě je fakt vhodná taková ta cesta #ifdef DEBUG a vkládání ladících hlášek do kodu - a to hlavně proto, že právě i sítovou aplikaci můžu pustit z konzole a číst si ty debug hlášky na konzoli, zatímco GUI je třeba browser (či něco jako Gtk, ale já teda zatím nic pro Gtk nedělal...)

    Jinak možná by mohlo někoho zajímat, jak se vyvíjí moje snaha o try { } makro do céčka... zatím jsem dospěl k tomu, že výslovně neodchycené chyby se budou řetězit a na konci programu se všechny vypíší. a že chyby budou bud POSIXové (tam chybovou hlášku poskytne libc) a nebo uživatelské (definované právě textem popisujícím chybu - takže v podstatě velmi podobné jako $@ chybová hláška v Perlu, pokud Perl trochu chápu...). v podstatě půjde o to, že runtime bude moci evidovat více než jednu neodchycenou chybu - ale současně to nebude nějak hierarchicky strukturované jako v C++
    _BENNY
    _BENNY --- ---
    DAVIDOWITCH: ten naprosto zboznuju, bez nej uz dneska taky nevstanu z postele :D
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    _BENNY: Pouzivas Visual Assisst X? Nebo obecne nejaky dalsi pluginy na usnadneni zivota?
    _BENNY
    _BENNY --- ---
    CHEVALIER: Microsoft Visual Studio, na linuxu je pry docela pouzitelny kdevelop
    CHEVALIER
    CHEVALIER --- ---
    _BENNY: V čem že to děláš?
    _BENNY
    _BENNY --- ---
    POTRAT: to snad ma smysl jen v pripade ze se ty cinnosti nejak opakuji. ale kdyz potrebujes kazdou chvili koukat na neco jineho, tak zase skoncis u psani (nehlede na to ze i ty makra se ani napoprve nenapisou samy), misto abys proste prisel, kouknul a hned videl. zdrzuje to.

    XCHAOS: mozna se jen blbe vyjadrujes ;)
    POTRAT
    POTRAT --- ---
    _BENNY: tak pokud se nechces upsat, tak si muzes nadefinovat makra prece, v tom je velky plus gdb
    XCHAOS
    XCHAOS --- ---
    _BENNY: v podstatě toto bylo celé jádro mojí kritiky gdb ... ale ty za to samé dostaneš palečky nahorů, zatímco já palečky dolů :-)
    FLEGMA
    FLEGMA --- ---
    _BENNY: jj, toto mam radsi taky orbis pictus. Ale vlakynka jsou nekdy hnus, obzvlast kdyz zakaznik nahlasi race condition, ktera se objevi jednou za tisic let a ne a ne ji nasimulovat, nejlip jeste zatuchlej kod po predchudci a bez logu a k tomu bug s critical prioritou, aby mel pan Murphy radost.
    _BENNY
    _BENNY --- ---
    FLEGMA: jasne ze gdb umi temer vse co je k debugovani potreba. ale problem je kdyz potrebujes dynamicky vytvaret a disablovat breakpointy a stepovat a koukat kde zrovna jses ve zdrojaku a prip. v assembleru a na aktualni stav registru a threadu a ke kazdymu callstack atd... to se proste upises nez neco uvidis. ale jak rikam, nekomu to nevadi, koneckoncu to muze byt jen projev me vlastni neschopnosti :)
    FLEGMA
    FLEGMA --- ---
    _BENNY: Na tohle jsou dobry conditional breakpointy a jestli me pamet nesali, tak to GDB umi.
    ISTEVE
    ISTEVE --- ---
    jako anecdotal evidence muzu uvest ze mi to nikdy problemy nedelalo, a jako statistiku to, ze gdb je stale pomerne popularni nastroj... ale treba jsem jen jeden z bandy nerdu:]

    ...tak ci onak je to ale v podstate jedno, at uz clovek voli klikaci UI nebo textovy, oboji jsou to porad dost silny nastroje ktery maj ultimatne pomoct developerovi. A je picovina se jim vyhejbat, pac trivialni printf debugging to v zadnym pripade ani omylem nenahradi.
    _BENNY
    _BENNY --- ---
    s terminalem nemam problem pokud mi jde o to vypsat kontext, z nej neco vycist a pokracovat dal. ale stepovat uvnitr vicero multithreadovych procesu na terminalu a sledovat vsechno deni rucnim psanim kazde blbiny, to je fakt honirna, kterou delat odmitam. nicmene si dovedu predstavit nerda, kteremu je presne tento zpusob prace prirozeny :D ja si docela potrpim na uhledne visualno.
    ISTEVE
    ISTEVE --- ---
    Mas pravdu, chtelo by to svitivej 3d interface a mavani rukama, pac to je efektivnejsi... ;]

    ...nicmene flamebait stranou, debugovani v terminalu je stale lower latency a higher bandwidth nez jakykoliv klikaci UI, coz klikaci UI vynahrazuje daleko min steep learning curve. Vidim to jako tradeoff, jako spousta dalsich veci. Nevidim to jako vec "minulosti" a "co se slusi a patri v roce 2012".
    FLEGMA
    FLEGMA --- ---
    DAVIDOWITCH: tjn, ale debugovat v roce 2012 v terminalu mi prijde stejnej sadomasochismus jako psat kod ve vimu.
    FLEGMA
    FLEGMA --- ---
    DAVIDOWITCH: Pisa je nejvic linux a C guru, kteryho znam, POSIX a kernel zna snad nazpamet, vzdycky mi dokazal odpovedet. Je to renesancni clovek, se podivej na jeho stranky, multioborovej vyvojar. Taky nam daval vtipny ukoly, treba grabnout jeho jmeno ze zdrojaku GCC nebo hacknout zabezpeceni debianovy site. Logicky je to fanousek open source...
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    FLEGMA: Ten eclipse frontend mel teda jeste loni pomerne dost much. Kdykoliv sem tim tahal nejaky slozitejsi veci s templatama, tak spadl/ukazoval kraviny. Takze sem skoncil u gdb v terminalu. (Ani nevim ze to ma vlastni debugger, takze nemuzu soudit).

    A Pisa je vtipnej typek, kdyz sem mel prednasku o tom jak se dela VFX do filmu, tak se mne pak ptal na pouzivanej software, byl prekvapenej ze tam neni nic open source a vesmes mne zacal presvedcovat ze proprietalni software je neudrzitelnej a melo by se prejit na open source. Coz mi u softu kterej ma hrozne slozitej vyvoj a velmi omezeny pouziti prislo vtipny :-)
    FLEGMA
    FLEGMA --- ---
    XCHAOS: A remote debug je jako nejakej vyssi luxus v cecku ? Teda to musite trpet :-)
    FLEGMA
    FLEGMA --- ---
    XCHAOS: Taky to nemusis pouzivat oldschoolove v terminalu, i kdyz videl jsem experta ze stary skoly, co s tim fakt umi (Pavel Pisa z FELu http://cmp.felk.cvut.cz/~pisa/ - je to magor v dobrym slova smyslu, spoluautor GCC, C/Linux/elektro guru) a debugoval pomoci milionu klavesovejch zkratek snad rychlejc nez ja normalne v IDEcku.

    Na ty mensi a jednoduchy veci nebo jednorazovky (ca kod na jednu obrazovku) asi okej bez debugu, jinak bych pouzil eclipse, ma frontend pro gdb aj interni debugger. Driv jsem ladil kod v Borland C++, ale to bylo na widlich a uz je to asi mrtvej produkt.

    Pro me je debug primo soucast vyvoje (pisu teda v jave), JVM ma hotswap, coz mi umoznuje si za behu do aplikace dopisovat kod. Na vetsi zmeny, ktery hotswap nezkousne nebo na reload konfiguraku ruznejch frameworku, mam JRebel, bez nej si uz serverovej vyvoj nedokazu predstavit. Spori to spoustu casu, protoze nemusim kvuli kazdy drobnosti otacet aplikac.
    Kliknutím sem můžete změnit nastavení reklam