passerer en kommando til gdb når du kjører et program

stemmer
3

Jeg bruker gdb for å feilsøke et program, og jeg ønsker å ha resultatet av kommandoen

$(perl -e 'print Ax20') 

som mitt argument. Hvordan kan jeg gjøre det? På denne måten argumentet ville være meget fleksibel.

Publisert på 01/07/2009 klokken 17:05
kilden bruker
På andre språk...                            


3 svar

stemmer
4

Du kan bruke startsignalet, og gi det noen parametere etterpå som vil være argumenter.

Hvis du vil at ovenfor, kan du prøve:

run `$(perl -e 'print "A"x20')`

som en kommando når du begynner gdb.

Svarte 01/07/2009 kl. 17:07
kilden bruker

stemmer
1

Det ser ut som du ikke startet programmet med gdb riktig. Anta at programmet er "a.out", i bash:

$gdb a.out
(gdb)run `$(perl -e 'print "A"x20')`

Håper dette hjelper deg.

Svarte 23/03/2011 kl. 07:57
kilden bruker

stemmer
3

Ovennevnte er litt av og ville ikke fungere for meg heller. Hvis du bruker settet args kommando, vil følgende fungere (i alle fall på mitt system):

set args "`perl -e 'print "A"x20;'`"

Som vanlig, skriver du bare 'løpe' etter å starte feilsøking, og riktig argument skal være bestått.

Svarte 23/08/2011 kl. 20:42
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more