(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 

다음 문서 에서 필요한 정보를 찾을 수 있습니다.

댓글

Answer

조금 나중에하지만 문자열 변수를 설정하려면 시도해보십시오.>

gdb set var string_variable = “new_string_variable”

변경 사항을 적절하게 적용하려면 두 변수 정의에 대해 문자 번호가 동일해야합니다. 새 변수에 따옴표를 적용해야합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다