GDB Flashcards

1
Q

Breakpoint i watchpoint i primer kada je watchpoint bolji

A

Definisanje break point-a je naredbom:
break ime_klase::ime_funkcije.
Ako zelimo da se napravi break point samo ako je neka nasa promenljiva uzela konkretnu vrednost onda moze: break … if prom = vrednost.

Watchpoint prati određeni izraz ili promenljivu i zaustavlja izvršavanje programa kad god se ta vrednost promeni.

Kada je watchpoint bolji:

  • Promene u promenljivama: Ako želite pratiti kada se određena promenljiva menja, watchpoint je bolji alat.
  • Specifični uslovi: Kada želite da se program zaustavi samo ako se određeni uslovi zadovolje (npr. vrednost promenljive postane veća od određene granice), watchpoint vam omogućava postavljanje takvih specifičnih uslova.
  • Optimizacija performansi: Ako imate veliki kod s puno breakpointa, a zanima vas samo promena određenih promenljivih, watchpoint može biti efikasniji jer će vas obavestiti samo o relevantnim promenama
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Break point na svakoj funkciji koja zadovoljava neki regularni izraz?

A

rbreak ime_klase::.* (uzima sve clanske funkcije date klase)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Kako mozemo da koristimo breakpoint-e samo za printf a ne da nam svaki put zaustavlja program?

A

set logging redirect on
set logging on
Sada umesto na out on ce da printuje u log fajl

I onda da bismo definisali svaki put sta se radi na breakpointovima
commands
bt 3
print this
continue
end

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Sta je core file?

A

Core file je fajl koji sadrzi trenutno stanje programa kada je program pukao

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Kako se prilikom debugginga vracamo unazad?

A

Potrebno je “ukljuciti snimanje” komandom:
target record-full
zatim definisemo breakpoint kada cemo da zavrsimo sa snimanjem:
break ime_klase::ime_fje

How well did you know this?
1
Not at all
2
3
4
5
Perfectly