• ú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
    _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.
    XCHAOS
    XCHAOS --- ---
    DANIELSOFT: jak říkám, já si nějaký čas hrál s xwpe a rhide. pochopitelně po zkušenostech s omezeními v DOSu se mi hrozně líbilo, že můžu krokovat třeba i síťovou aplikaci běžící na serveru... moje kritika se týkala právě méně než nulové uživatelské přítulnosti čistého gdb :-)

    _BENNY: já to úplně chápu... současně ale nevyvíjím komerční aplikace, od kterých bych šířil jen binárky, a podobná situace se u mě neděje moc často. popravdě... trochu něco jsem v posledních pár letech programoval, tedy nejen v C - ale nejčastější způsob komunikace s klientem/uživatelem byl vždy ten, že jsem si vyžádal dodání vstupních dat, které daný problém dokázaly reprodukovat (a tady jsem tedy dokonce byl nucen i hledat chyby po jiných, párkrát). klienta, která dodá coredump, si sice představit umím... ale prostě žádné takové kšefty teď nemám.
    DANIELSOFT
    DANIELSOFT --- ---
    tak kdyz si clovek nad "gdb" nainstaluje "ddd", tak je to o neco pristupnejsi a pohodlnejsi - a pritom clovek neprijde o moznost zadavat primo do gdb commandy, pro ktere v ddd neni gui cudlik
    _BENNY
    _BENNY --- ---
    ono treba kdyz ma clovek pruser nad hlavou a nasranej zakaznik je schopen dodat pouze crashdump, tak veci jako gdb nebo windbg docela uvita. i kdyz to prostredi je fakt desny, zaplatpanbuh za nej :)
    POTRAT
    POTRAT --- ---
    XCHAOS: ja teda s gdb pracuju skoro kazdej den a nemuzu si ho vynachvalit ;)
    XCHAOS
    XCHAOS --- ---
    _BENNY: ale kdo tady mluví o "zanevření"... spíš jsem už dlouho nevyvíjel tak rozsáhlý projekt, který by debugování potřeboval.

    s gdb se pracuje opravdu dost blbě - to je celé, co jsem tím chtěl říct.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: A prozenes to alespon valgrindem, treba?
    _BENNY
    _BENNY --- ---
    XCHAOS: drasticke opatreni je zanevrit na techniky debuggingu kvuli jednomu gdb. hranicici s omezenosti :)
    XCHAOS
    XCHAOS --- ---
    REDGUY:
    _BENNY: trochu jinak :-)

    pod DOSem jsem používal td286 (s td386 byly nějaké problémy s ovladači v reálném módu či co, už si to přesně nepamatuju, DOS byl hrozný bastl). pod Linuxem mi to chybělo, tak jsem zkoušel wpe/xwpe a rhide, což mělo oboje nějaké bindingy na gdb a šlo tam taky krokovat

    párkrát jsem vyzkoušel gdb přímo v textovém režimu, ale tento zážitek se mnou otřásl a hluboce mě vnitřně poznamenal. takže od té doby se snažím, abych věděl, co se v mých programech děje a proč nefungují, a nebylo potřeba podstupovat tak drastická opatření.
    REDGUY
    REDGUY --- ---
    XCHAOS: Znamena to, ze tvoje programy neobsahuji chyby, takze je nemusis debuggovat? A jak velke programy tinhle stylem pises?
    ANT_39
    ANT_39 --- ---
    XCHAOS: tak princip debug informace chápu
    Ok, nevedel jsem, na co se ptas. Jinak je to proste cteni debuginfa, no. Vetsinu zajimave prace odvadi libdwfl, ktery resi kam v pameti se co namapovalo, hleda oddeleny debuginfa, prepocitava adresy, atd. Ta reflexni knihovna samotna je jen pomerne tenky wrapper kolem toho, dohromady to moc nedela.

    Jinak {,eu-}readelf -w umi Dwarf dumpnout v lidsky citelne podobe, tak se clovek muze podivat co jak vypada, jestli ho to zajima. Je to takovy XML pro popis struktury binarek.
    _BENNY
    _BENNY --- ---
    XCHAOS: znouzectnost
    XCHAOS
    XCHAOS --- ---
    _BENNY: asi záleží na tom, co programuješ a jakým stylem. jistě sis všiml, že já se dost snažím o používání už oddebugovaných "design patterns", že jo... nikomu to necpu, ale faktem je, že dnes mi kód, který se přeloží, taky ve většině případů i běží (jistě... najdou se vyjímky...)
    _BENNY
    _BENNY --- ---
    bez debuggeru bych dnes ani nevstal z postele
    Kliknutím sem můžete změnit nastavení reklam