Jeg ved, at jeg kan afgive værdien af en variabel ved hjælp af

(gdb) p var_name $1 = "varvalue" 

Is der er en måde at indstille værdien af en variabel under fejlretning med gdb? Dokumentet, som jeg bruger, synes ikke at have denne kommando.

Rediger

Jeg har siden lært, at jeg kan ændre tilstand af objekter i hukommelsen ved blot at kalde deres funktioner! Så for at ændre et objekt af typen std::string, skal du bare kalde assign -funktionen som følger:

(gdb) call str.assign("New Value") 

Tak.

Svar

Google er din ven:

Hvis dit program f.eks. har en variabel bredde, får du en fejl, hvis du prøver at indstille en ny værdi med bare `indstil bredde = 13 “, fordi GDB har kommandosætbredden:

 (gdb) whatis width type = double (gdb) p width $4 = 13 (gdb) set width=47 Invalid syntax in expression. 

Det ugyldige udtryk er selvfølgelig `= 47″. For faktisk at indstille programmets variable bredde skal du bruge

 (gdb) set var width=47 

Du kan finde de nødvendige oplysninger i følgende dokument :

Kommentarer

Svar

Lidt senere, men for at indstille en strengvariabel skal du prøv dette>

gdb set var string_variable = “new_string_variable”

Tegnnumre skal være de samme for de to variabeldefinitioner for at anvende ændringen efter behov. Citater skal anvendes på den nye variabel.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *