안녕하세요, 저는 현재 GDB를 통해 리눅스 머신의 코드베이스를 디버깅하고 있습니다. 현재 클래스의 개체 ptr에서 데이터 멤버의 가치를 얻는 데 문제가 있습니다. 객체 ptr의 위치를 인쇄하려면 "p"(인쇄) 또는 "표시"명령을 사용할 수 있습니다.gdb에서 데이터 멤버의 가치를 얻는 방법은 무엇입니까?
예를 들어: 나는이 내 코드에 따라서이
class abc
{
string a;
};
같은 클래스 난 그렇게 위의 줄에 허점이 후,
abc* objPtr = new abc();
을 클래스 abc 방송에 대한 포인터를 사용하고있는 경우 내가 얻을 것이다 objPtr 이제 datamember a (abc :: a) 값의 값을 확인하려고합니다. 내가 어떻게 할 수 있니?
(gdb) p objPtr
$2 = {px = 0x3ba6430690, pn = {pi_ = 0x3ba6430698}}
또한 목록/벡터 인 데이터 멤버를 확인하는 다른 방법이 있습니까?
-g로 컴파일 했습니까? – ColWhi
예 -g 옵션으로 컴파일했습니다. \ –
목록/벡터 질문에 대해서는 다음을보십시오. http://stackoverflow.com/questions/427589/inspecting-standard-container-stdmap-contents-with-gdb – Nobody