(gdb) p var_name $1 = "varvalue"
Is를 사용하여 변수 값을 출력 할 수 있다는 것을 알고 있습니다. gdb로 디버깅하는 동안 변수 값을 설정하는 방법이 있습니까? 사용중인 문서에이 명령이없는 것 같습니다.
편집
이후 상태를 변경할 수 있다는 것을 배웠습니다. 단순히 해당 함수를 호출하여 메모리에있는 개체의 수입니다. 따라서 std::string
유형의 개체를 수정하려면 다음과 같이 assign
함수를 호출하면됩니다. / p>
(gdb) call str.assign("New Value")
감사합니다.
답변
Google은 친구 :
예를 들어, 프로그램에 가변 너비가있는 경우`set width로 새 값을 설정하려고하면 오류가 발생합니다. = 13 “, GDB에 명령 세트 너비가 있기 때문에 :
(gdb) whatis width type = double (gdb) p width $4 = 13 (gdb) set width=47 Invalid syntax in expression.
물론 잘못된 표현식은`= 47 “입니다. 실제로 프로그램의 가변 너비를 설정하려면
(gdb) set var width=47
다음 문서 에서 필요한 정보를 찾을 수 있습니다.
댓글
- 답변 해 주셔서 감사합니다! 이중 변수로 이것을 시도했지만 작동했지만 ' std :: string 객체에서 작동하지 않았습니다. std :: string 객체도 수정하는 유사한 기술입니까?
- 다음 항목을 확인하십시오. sepwww.stanford.edu/public/sep/claudio/Research / Prst_ExpRefl / …
- 그리고 이것 : rsquared.sdf.org/gdb/ iacv.html
Answer
조금 나중에하지만 문자열 변수를 설정하려면 시도해보십시오.>
gdb set var string_variable = “new_string_variable”
변경 사항을 적절하게 적용하려면 두 변수 정의에 대해 문자 번호가 동일해야합니다. 새 변수에 따옴표를 적용해야합니다.