Tiedän, että voin tuottaa muuttujan arvon käyttämällä

(gdb) p var_name $1 = "varvalue" 

On onko tapa asettaa muuttujan arvo virheenkorjauksessa gdb: llä? Asiakirjalla, jota en käytä, ei näytä olevan tätä komentoa.

Muokkaa

Olen siitä lähtien oppinut, että voin muuttaa tilaa muistissa olevista kohteista yksinkertaisesti kutsumalla niiden toimintoja! Joten muokata objektia, jonka tyyppi on std::string, soita vain funktiolle assign seuraavasti:

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

Kiitos.

Vastaa

Google on ystäväsi:

Esimerkiksi jos ohjelmallasi on vaihteleva leveys, saat virheilmoituksen, jos yrität asettaa uuden arvon vain `asetetulla leveydellä = 13 ”, koska GDB: llä on komentojoukon leveys:

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

Virheellinen lauseke on tietysti `= 47″. Määritäksesi ohjelman muuttujan leveyden, käytä

 (gdb) set var width=47 

Tarvittavat tiedot löydät seuraavasta asiakirjasta :

kommentit

Vastaa

Hieman myöhemmin, mutta jos haluat asettaa merkkijonomuuttujan, kokeile tätä>

gdb set var string_variable = ”new_string_variable”

Merkkien numeroiden on oltava samat kahdelle muuttujan määritykselle, jotta muutos voidaan soveltaa tarvittaessa. Lainaukset on käytettävä uuteen muuttujaan.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *