• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOJAProgramovani 40+
    SATAI
    SATAI --- ---
    GROMKY:
    Hmmmm.
    Geralt z Rivie
    GROMKY
    GROMKY --- ---
    SATAI: Asi mi tvůj nadřazený sarkasmus má přijít vtipný?
    SATAI
    SATAI --- ---
    GROMKY: ty pak oddebagujes behem nasledujicich 60 let, kdy ti udrzba zajistuje sama pozitiva a socialni jistoty
    GROMKY
    GROMKY --- ---
    SATAI: S tunou chyb.
    SATAI
    SATAI --- ---
    JARDABEREZA: 60000000 řádek v Čobolu za víkend snadno vygeneruješ v APL
    JARDABEREZA
    JARDABEREZA --- ---
    ABAP: 60 000 000 řádek Cobolu? To je přece práce na jeden víkend ne? :-D https://www.zdnet.com/article/if-cobol-is-so-problematic-why-does-the-us-government-still-use-it/
    DEEFHA
    DEEFHA --- ---
    DRUDRIGER2: Náhodou, já jsem v Cobolu pár let dělal a to mi ještě není ani padesát :⁠-⁠)
    DRUDRIGER2
    DRUDRIGER2 --- ---
    To spíše zalozit nové auditko a to programovani 60+
    MIC
    MIC --- ---
    ABAP: HOLAKAC: Tak u nás v ČR, pokud mě paměť nemate, také shodou okolností prý to "jádro" výpočtu důchodů, nebo nějakých takových sociálních výplatků, je archaický COBOL script, na který se prý nesmí šahat.
    Teda říkalo se to před spoustou let, ale vsadím se, že to pořád platí, protože kdyby tohle někdo předělával, tak je to stopro v Ústavu pro vysmáté.
    HOLAKAC
    HOLAKAC --- ---
    ABAP: hoši z SK katastru by jim mohli nabídnout pomoc.
    ABAP
    ABAP --- ---
    Tak tohle bude o dost větší prdel, než digitální stavební řízení.
    https://arstechnica.com/tech-policy/2025/03/what-could-possibly-go-wrong-doge-to-rapidly-rebuild-social-security-codebase/
    K tomu si už jen vzít colu a popcorn.
    KLEINZACH
    KLEINZACH --- ---
    (kdyby to nekoho vic zajimalo)
    Dealing with Large Symbol Files | Interrupt
    https://interrupt.memfault.com/blog/dealing-with-large-symbol-files#compress-debug-info-with-dwz
    Compressed debug sections | MaskRay
    https://maskray.me/blog/2022-01-23-compressed-debug-sections
    JANFROG
    JANFROG --- ---
    KLEINZACH: Jasne. S tim dwz bych si to asi nejdrive vyzkousel (tj. vykopirovat z dockeru, pustit dwz, nakopirovat zpet) jestli to fakt pomuze, nekdy to (pro me usecases) trosku pomuze, nekdy ne. Jinak muzes zkusit hned na zacatku session po te, co natahnes program pustit "maint expand-symtabs" - ne ze by to bylo rychlejsi, ale alespon to bude chroustat kdyz ty chces a ne kdyz se uklepnes :-)
    KLEINZACH
    KLEINZACH --- ---
    JANFROG: novejsi gdb neni problem, to sem-tam prekladam (at uz kvuli chybam nebo archaicnosti). ale co si pamatuju, tu kompresi zarizoval linker, nas linker to neumel a upgradovat neco v nasem dockeru je vzdycky voser (ted sem napr upgradoval fuse na fuse3) tak sem to hodil za hlavu.. jeste se na to podivam, mozna by to ocenili i ostatni kolegove, takze by se na to cas nasel

    nas debug build je -O0 -g, navic v gdb samotnym to info je - spis to vypada ze to ty frontendy neumej vytahnout
    JANFROG
    JANFROG --- ---
    KLEINZACH: A co mas za GDB? Pokud mas nejake fakt stare, zkus novejsi. Neni zas takova raketova veda to prelozit (s tim muzu pomoci, delam to casto :-). Pripadne mit vlastni GDB vne dockeru a uvnitr si pustit jen gdbserver
    (a v zasade jinak nez takhle nedebuguji).
    JANFROG
    JANFROG --- ---
    KLEINZACH: I v tech debug buildech se obcas neco ztrati, teda pokud nebuildujes debug buildy s `-O0`
    (to delam kdyz uz to je i na me moc :-). I kdyz prekladas s `-O2 -ggdb` tak to proste obcas GCC neda (treba kdyz nahrazuje nejake sekvence vystupem ze superoptimizeru, tam si nedokazu predstavit ze by to vubec mohlo fungovat :-)

    A bocni projekty...chapu no. Musis bocni projekt pretavit na hlavni, ale snadny to neni, chce to osvicene vedeni a takovych neni moc, no.
    KLEINZACH
    KLEINZACH --- ---
    JANFROG: ajo, na tema komprese symbolu uz jsem myslim googlil a pak jsem shorel na tom, ze bych musel upgradovat gcc (nebo linker? uz nevim) v dockeru (pouzivame celkem archaicky tooly). 2. a 3. se podivam, diky

    jj pretty print frontendu se nesnasi s lokalne nastavenym pretty printem, na to uz si davam pozor (resp. rychle se dozvim, ze sem na to zapomnel)

    (mluvim o debug buildu, u release bych si na chybici info nestezoval)


    JANFROG: jo clovece, dalsi bocni projekty muzu pribirat az deti vyrostou :) T-1x let a odpocitavam ;)
    JANFROG
    JANFROG --- ---
    KLEINZACH: Ale jo, zapasim s tim taky, byt s jinejma vecma. A sralo me to tak ze jsem se stal commiterem :-) Vyrazne to zlepsilo moji kvalitu (debugovaciho) zivota.
    JANFROG
    JANFROG --- ---
    GDB committer here :-)

    pokud mas 3GB DWARF infa, bude to pomale, DWARF neni uplne jednoduchej format. Co pomaha je 1. stlacit debuginfo, hledej dwz. 2. Pridat index, hledej gdb-add-index 3. nove GDB umi castecne paralelizovat cteni debug infa, delal to Tom Tromey, zeptej se na mailing listu.

    > manualne prochazet mapy listu se shared pointrama na stringy... kuuurva!
    Co delam ja v podobnych pripadech je to hledam kusem kodu v Pythonu.

    Ten zbytek je proste plyne z toho, ze GDB je CLI tool, ne klikaci frontend. Co se tyce frontendu, pouzivam vlastni v kombinaci s vlastnimi pretty printery. Problem neni ani tak v GDB/MI jako spis ze frontendy to casto neumi v kombinaci s temi pretty-printery
    (viz `-enable-pretty-printing` https://sourceware.org/gdb/current/onlinedocs/gdb.html/GDB_002fMI-Variable-Objects.html#GDB_002fMI-Variable-Objects).

    Co se tyce neuplnych dat apod, casto je to o tom ze data jsou tak uplna jak uplne je debug info. A GCC to obcas proste zahodi a pak se nema v GDB ceho chytit (a propagace debug infa v prekladaci je dost obtiznej problem sam o sobe. s tim mam take svou zkusenost :-)
    KLEINZACH
    KLEINZACH --- ---
    -any GDB

    prosimvas, pouzivate nejakej rozumnej front end (staci textovej) ke gdb? nebo sem jedinej kdo s tim kramem zapasi? :)

    pokazdy kdyz neco delam v gdb tak me to vlastne sere. asi nejvic:
    - pomalost (pracuju s binarkama > 3 giga). jeden blbej preklep, aby gdb hledalo v tabulce symbolu a je pomalu rychlejsi to killnout a zacit znovu nez cekat
    - pretty printing je dost casto buggy/nestabilni (jasne, neni primo gdb vina, ale manualne prochazet mapy listu se shared pointrama na stringy... kuuurva!)
    - neprehlednost.. furt musim nekde neco psat a zjistovat, misto abych videl rovnou: registry, stack, locals, thready

    co mi na textovym gdb chybi:
    - pohodlnost pri 'bloumani' kodem. dost casto nevim co vlastne hledam a tak jenom trasuju, koukam, nahlizim do datovych struktur co by mohlo bejt relevantni atp. v tomdle me gdb strasne sere, protoze i s tim pretty printem je dost otrava to hledat. ve vizualku je todle mnohem jednodussi, pac clovek proste napul spi a dela klik-klik-klik....-klikklik a vzbudi se az tehdy, kdyz je neco zajimavyho. uz nejsem mladej thread abych jel porad na 100% :)

    co jsem vyzkousel:
    - v minimu pouzivam tui a cgdb.. ale uprimne to je jak sedet na zidli bez sedaku
    - ruzny graficky frontendy typu eclipse, vscode, seer - vsechny maj tu nevyhodu ze jsou ve finale napojeny na ten gdb/mi interface, kterej je imho vetsi pulka problemu (nevim co presne je na tom spatne, rozchazej se interfacy? nebo s tim ty frontendy blbe zachazej?). prochazeni slozitejsich dat bud vubec nefunguje, nebo se na nej nesnesitelne ceka, neuplny data atp
    - par textovych frontentu (neco psanyho v pythonu? zkusim dohledat co to bylo).. problem byla opet stabilita
    - lldb - to zkousim ted, reaguje mnohem svizneji nez gdb a to jejich textovy gui je na pul cesty toho co bych chtel

    asi sem se na jako gamedev na widlich zhejckal - jak je to celkove takovej kompost mezi operacnimi systemy, tak ten jejich debugger je jak perla na.. tom kompostu :)
    Kliknutím sem můžete změnit nastavení reklam