2009-06-24 3 views
18

Xcode로 변수를 보려고합니다. Run> Variables View> ....를 선택하여 중단 점에서 일시 중지함으로써 here의 지침을 따르고 있지만 나머지 옵션은 모두 회색으로 표시됩니다. 어떤 아이디어?Xcode에서 변수보기

Xcode 버전 3.1.3을 사용하고 있습니다.

+1

일단 중단 점에 도달하면 중단 점 위로 마우스를 가져 가면 변수 정보가 표시됩니다. – zpesk

+0

최적화가 해제 된 디버그 빌드를 실행 하시겠습니까? – Dolphin

+0

릴리스 대신 디버그 빌드를 시도했지만 문제가 지속됩니다. – Stu

답변

19

불행히도 Run 메뉴에서 생성 된 워치 포인트를 얻지 못했습니다. 알고 있어야 할 것은 변수가 범위를 벗어나면 watchpoint가 무효화 될 수 있다는 것입니다.

좀 더 심도있게 신경 쓸 필요가없는 경우 낮은 수준의 gdb 명령을 사용하여 메모리 자체의 주소에 대한 감시 점을 설정할 수 있습니다. 예를 들어, 링크 된 가이드에서 변수 path을 보는 방법은 값 0xbfffeb70 인 포인터입니다. 수동으로 주소에 대한 감시 점을 설정하려면, 후 (디버깅 출력은 인쇄) 디버거 콘솔 "(GDB)"프롬프트에서 클릭하고이 같은 유형 : 비밀 구문이 필요

watch *((int*)0xbfffeb70) 

을 GDB 때문에 입력을 C 표현식으로 기대합니다. 좀 더 자세한 내용은 visit this link이고 섹션의 "하드웨어 감시 점 사용"으로 이동하십시오. (인텔 머신에서 테스트 중이며, PowerPC가 어떻게 처리하는지 모르겠습니다.) 이런 식으로 워치 포인트를 설정하면 워치 포인트에 도달하면 드롭 다운 시트가 표시되어 값이 어떻게 변했는지 알려줍니다. gdb는 콘솔에 같은 정보를 출력합니다.

+2

C++ 메소드의 멤버를보고 싶다면이 변종이 매우 유용하다는 사실을 발견했습니다 :'watch -location mTextFormatted'. 정적 대 동적 캐스트와 관련된 불쾌한 버그를 공개했습니다.) –

+2

lldb 대안은 'watchpoint set expression - 0xbfffeb70' 또는 줄여서'w s e - 0xbfffeb70'입니다. –

7

방금이 문제가 발생했습니다. 해결책은 다음과 같습니다 : 변수 이름을 마우스 오른쪽 버튼으로 클릭하고 나타나는 메뉴에서 "창에서 변수보기"를 선택하십시오. 그것은 바닥 근처에 있어야합니다.

2

여기서 주어진 답변은 gdb 컴파일러를 사용하는 경우에만 작동합니다.

그것은 제트 (lldb 3.1 엑스 코드 4.3.2)를 작동하지 년대 lldb 문서가 당신이 할 수있는 말에도 불구하고 다음 lldb 컴파일러와 함께 감시 점을 설정하는 옵션을 찾고있는 분들을 위해 나는 나쁜 소식이 있습니다.

체크 아웃 this 이메일. gdb들에 비해 lldb 명령은 내가 마지막으로 출력 콘솔의 오른쪽 하단에있는 버튼을 "변수보기"발견 내가 엑스 코드 5에서이 문제를 알아 내려고 노력했다

+0

'wa s e - '이 나를 위해 일했습니다. 예 :'wa s e - 0xbfffeb70' –

1

here를 찾을 수 있습니다. 왼쪽에 회색이 될 작은 사각형입니다. 활성화되지 않은 경우 오른쪽에 흰색이 있습니다. 이것이 XCode 3에 있는지 확실하지 않지만 대부분의 사람들이 어쨌든 업그레이드 할 것으로 예상됩니다.

2

중단 점을 추가하십시오. 오른쪽 디버그 영역의 감시 목록을 클릭하고 "표현을 추가 ..."

enter image description here

를 다른 메뉴를 얻고있는 경우에, 당신은 아무것도하지 않도록 현재 선택된 변수의 오프 클릭해야 마우스 오른쪽 버튼을 클릭하면 강조 표시됩니다.