Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 8 odgovora
  • 7.562 pregleda

Najnovija ↓

debager 10.12.2001. u 11:49 · pre 303 meseca #1
Koriscenjem parametra -g gcc dodaje dodatne inforamcije potrebne za debagovanje programa, e interesuje me da li se te informacije dodaju prilikom stvaranja objektnih fajlocva ili prilikom vezivanja istih?
Takodje ako neko zna sta se to dodaje?
Potpis
vitamini, minerali, suplementi...
Re: debager 10.12.2001. u 12:38 · pre 303 meseca #2
Tokom kompajliranja kompajler dodaje imena funkcija, imena objekata i promenljivih u .obj fajl, kao i reference na source kod - kako bi debugger znao kako koju promenljivu da nazove i prikaze.

Za Linux ne znam, ali za Win32 - linker tokom povezivanja u izvrsni fajl ili ubaci sve simbole iz .obj fajlova ili ubaci tabelu sa referencama na simbol fajlove (tzv. PDB fajl)
Potpis
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
Re: debager 10.12.2001. u 13:30 · pre 303 meseca #3
Za to -g moras da kompajliras program sa gdb flagom ja mislim da je flag gcc -g ili gcc --gdb pogledaj vise u man stvarno sam vec to zaboravio :)
Re: debager 12.12.2001. u 11:00 · pre 303 meseca #4
Citat:
Ivan Dimkovic:
Tokom kompajliranja kompajler dodaje imena funkcija, imena objekata i promenljivih u .obj fajl, kao i reference na source kod - kako bi debugger znao kako koju promenljivu da nazove i prikaze.


E pa da, hvala, inace exe. fajl je narastao od 3Kb do 22Kb od tih informacija...

Inateresuje me kako uopste radi debager, da li se ponasa kao neki interpreter ili mozda se, ne znam, moj program izvrsava kao thread zajedno sa njim posto vidim da postoji samo jedan proces...

Potpis
vitamini, minerali, suplementi...
Re: debager 12.12.2001. u 14:12 · pre 303 meseca #5
A lepo radi debugger uzmimo recimo gdb za Linux. Korisits funkciju ptrace a image procesa i instrukcije i symbole mozes da nadjes preko ELF specifikacije (otovrsi file, ucitas program header, pa debug informations i symbole ako ova dva poslednja nisu stripovana). Onda mozes da udjes u signle step mod debugovanja (to radis sa PTRACE_SINGLE) to je ono instrukcija po instrukcija a mozes i da ga pustis da se izvrsava mislim da to moze sa PTRACE_CONTINUE (ne secam se stvarno). Sve u svemu izgleda da gdb odbacuje ptrace() syscall kao funkciju za pracenje tako da sad meni licno nije jasno kako on prati program. grep -r ptrace ./* na gdb source u FreeBSD stablu daje mozda 3 ptrace funkcije sto ukazuje da se ne koristi taj pristup za pracenje.
Re: debager 13.12.2001. u 14:34 · pre 303 meseca #6
E ovaj gcc je lud ko struja... ladno iskompajliran program ima instrukciju: "movl %eax, %eax".
Dal' su ovo u intelu onako iz zeznja ugradili ili...
Ovo je dobijeno pri default optimizaciji koje ocigledno nema, sa -O2 nema neceg ovakvog :)
Potpis
vitamini, minerali, suplementi...
Re: debager 14.12.2001. u 01:58 · pre 303 meseca #7
Ako program radi kako ti oces i radi sta treba sta te briga sta gcc radi :)
Re: debager 14.12.2001. u 12:10 · pre 303 meseca #8
Citat:
Vojislav Milunovic:
Ako program radi kako ti oces i radi sta treba sta te briga sta gcc radi :)


Pretpostavljam da iz tog razloga par nas nije ni htelo da odgovara na ovo pitanje ...

Ako vec znas da -g u gcc-u dodje debug simbole, kakve ima veze da li se dodaju u objekt fajlove, ili pri linkanju.
Inace, ako malo bolje razmislis, kako moze linker (/usr/bin/ld) da zna o nekakvim debug simbolima ako doticni ne postoje u objekt fajlovima ?
Potpis
Za automatsko dobijanje Super Moderatorskog statusa na Elitesecurity forumima pritisnite Alt+F4
Re: debager 14.12.2001. u 17:09 · pre 303 meseca #9
Citat:
blue:
Pretpostavljam da iz tog razloga par nas nije ni htelo da odgovara na ovo pitanje ...


Hm, cini mi se da je Vojislav odgovorio na moju poslednju poruku a ne na prvu al' ajd'...

Inace, trenutno me vise interesuje kako program radi ono sto ja hocu da radi nego da radi ono sto ja hocu da radi... :)

Citat:
blue:
Inace, ako malo bolje razmislis, kako moze linker (/usr/bin/ld) da zna o nekakvim debug simbolima ako doticni ne postoje u objekt fajlovima ?


Citat:
Ivan Dimkovic:
Za Linux ne znam, ali za Win32 - linker tokom povezivanja u izvrsni fajl ili ubaci sve simbole iz .obj fajlova ili ubaci tabelu sa referencama na simbol fajlove (tzv. PDB fajl)





Potpis
vitamini, minerali, suplementi...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme