(gdb) p var_name $1 = "varvalue" 

を使用して変数の値を出力できることを知っていますgdbでデバッグ中に変数の値を設定する方法はありますか?私が使用しているドキュメントには、このコマンドがないようです。

編集

状態を変更できることを知ってから関数を呼び出すだけで、メモリ内のオブジェクトの数を増やすことができます。したがって、タイプstd::stringのオブジェクトを変更するには、次のようにassign関数を呼び出します。

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

ありがとうございます。

回答

Googleは友達:

たとえば、プログラムの幅が可変の場合、「幅を設定」だけで新しい値を設定しようとするとエラーが発生します= 13 “、GDBにはコマンドセットの幅があるため:

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

もちろん、無効な式は `= 47″です。プログラムの可変幅を実際に設定するには、

必要な情報は、次のドキュメントにあります:

コメント

回答

少し後で、文字列変数を設定するには、これを試してください>

gdb set var string_variable = “new_string_variable”

必要に応じて変更を適用するには、2つの変数定義で文字番号が同じである必要があります。引用符は新しい変数に適用する必要があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です