Xcode 중단점이 작동하지 않는 이유는 무엇입니까?
중단점을 설정했는데 Xcode가 무시하는 것 같습니다.
우선, 나는 꺼지라는 이전 사람들의 말에 100% 동의합니다. Load Symbols Lazily
.
두 가지 더 추가할 것이 있습니다.
(제 첫 번째 제안은 분명해 보이지만, 누군가 제게 처음 제안했을 때, 제 반응은 다음과 같습니다. "자, 제발요, 제가 정말로 더 잘 모를 거라고 생각하시는군요... 오.")
실수로 "Active Build Configuration"을 "Release"로 설정하지 않았는지 확인합니다.
프로젝트의 그래픽 트리 화면에 있는 "대상"에서 대상을 마우스 오른쪽 단추로 클릭하고 "정보 가져오기"를 수행합니다. "디버깅 기호 생성"(또는 이와 유사함)이라는 이름의 속성을 찾아 선택되었는지 확인합니다.또한 "Debug Information Format"이라는 속성을 찾아서(Target >> Get Info에서도) "Dsym file을 사용한 난쟁이"로 설정할 수 있습니다.
Target >> Get Info 아래에는 사용자에게 영향을 줄 수 있는 여러 가지 다른 속성이 있습니다.코드를 최적화하거나 압축하는 것과 같은 것들을 찾고 그것들을 끄세요 (나는 당신이 디버그 모드에서 일하고 있다고 가정합니다, 그래서 이것은 나쁜 조언이 아닙니다).또한, 스트리핑 기호와 같은 것들을 찾고 그것도 꺼져 있는지 확인합니다.예를 들어 디버그 대상에 대해 "연결된 제품 제거"를 "아니오"로 설정해야 합니다.
Xcode 7에서는 다음과 같은 이점이 있었습니다.
다음을 확인합니다.
Target > Scheme > Run
디버그 모드에 있음(릴리스)"Debug executable" 옵션을 선택해야 합니다.
Xcode Debugging 기본 설정으로 이동합니다."Load Symbols lazy"가 선택되어 있지 않은지 확인합니다.
저는 같은 문제를 겪고 있었습니다."Load symbolics lazely"를 세 번 확인하고 정보 생성 플래그를 제거하고 디버그한 후 다음 작업을 수행했습니다.
- Xcode를 종료합니다.
- 터미널 창을 열고 프로젝트 디렉토리로 이동합니다.
- cd를 .xcodeproj 디렉토리에 저장합니다.
- .pbxproj 파일(frank.mode1v3 및 frank.pbxuser)을 제외한 모든 파일을 삭제합니다.
.xcodeproj 번들을 마우스 오른쪽/옵션으로 클릭하고 "패키지 내용 표시"를 선택하여 동일한 작업을 파인더에서 수행할 수 있습니다.
Xcode를 다시 시작했을 때 모든 창이 기본 위치 등으로 재설정되었지만 중단점이 작동했습니다!
이에 대한 가능한 솔루션 중 하나는 ...제품 > 구성표 > 편집 >으로 이동하는 것입니다.실행>info>에서실행 파일을 선택합니다. "실행 파일 디버그".
Xcode 4.x의 경우: 제품 > 디버그 워크플로우로 이동하고 "디버깅 시 분해 표시"를 선택 취소합니다.
Xcode 5.x의 경우 Debug > Debug Workflow로 이동하고 "Disassembly When Debugging"을 선택 취소합니다.
또 다른 이유
트DeploymentPostprocessing
빌드 설정에서 NO로 - 세부 정보는 여기에 있습니다.
간단히 말해서 -
이 설정을 활성화하면 이진 파일을 제거하고 파일 모드, 소유자 및 그룹 정보를 표준 값으로 설정해야 합니다.[배포_후 처리]
이 게시물을 참조하십시오: 중단점이 Xcode에서 작동하지 않습니까?프로그램이 gdb의 도움을 받아 실행되지 않는 경우 "디버그" 대신 "실행"을 누를 수 있습니다. 이 경우 중단점이 작동할 것으로 예상할 수 없습니다!
쟁점.
(가능) 이유 및 해결책
- 이유: Xcode 버그
- 이유: 디버그 사용 안 함
- 이유: 모든 중단점 사용 안 함
- 이유: 디버그 정보를 최적화해야 합니다.
관련된
XCode의 심볼릭 중단점이 작동하지 않습니다.
- 배경
XCode 충돌 로그
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSCFConstantString stringByAppendingString:]: nil argument'
XCode 기호 중단점 추가
-[__NSCFConstantString stringByAppendingString:]:
그러나 중단점이 작동하지 않습니다.
- 해결책
다음으로 변경:
-[NSString stringByAppendingString:]
관련 문서: stringByAppendingString:
XCode 9.4.1을 사용하는 나를 위한 솔루션(중단점에서 멈추지 않음):
Under Build Target -> Build Settings -> Optimization Level : "Optimize for speed" -> "No Optimization" 에서 전환 (지금은 느리지만 작동함)
제 경우 해결된 것은 Xcode - Product - Clean Build Folder에 이어 Product - Run(Xcode 재생 버튼이 아님)에서 매우 간단합니다.
(Xcode 재생 버튼으로 유닛 테스트로 전환한 후 Xcode 11 - beta 4에서 문제 발생)
이것은 저를 Xcode 9에서 반나절 동안 좌절하게 했습니다.결국 단순한 디버그 설정이 되었습니다.
[디버깅] > [디버깅 워크플로우]로 이동하여 '항상 분해 표시'가 꺼져 있는지 확인합니다.그렇게 간단해요. :(
동일한 문제(Xcode 6의 C 코드가 중단점에서 중지되지 않음)로 이 페이지에 왔지만 위의 솔루션 중 어떤 것도 작동하지 않았습니다(프로젝트는 사실상 초기 설정에서 벗어났기 때문에 디버거 설정이 잘못된 값으로 설정될 가능성이 거의 없습니다).
문제를 줄이는 데 상당한 시간을 허비한 후, 저는 마침내 (제 코드의) 범인을 알아냈습니다.
는 바이슨 Xcode(/LLVM)를 좋아하지 않습니다.#line
사전 처리 명령입니다.
문제를 해결했습니다(디버거가 중단점에서 중지됨).
Xcode 4의 경우:
go Product -> Debug -> Activate Breakpoints
이는 모든 Xcode 버전에 적용됩니다. 가기 는 다음과 같습니다.command key + Y.
이 키 조합을 눌러 중단점을 활성화/비활성화합니다.
Xcode(2.4.1)의 중단점에 문제가 많습니다.Visual Studio의 솔루션처럼 다른 프로젝트만 포함하는 프로젝트를 사용합니다.시작 프로젝트(즉, 내 코드의 진입점을 포함하는 중단점)에 하나 이상의 중단점 집합이 없는 한 중단점이 전혀 작동하지 않는 경우가 있습니다.중단점이 "하위 수준" 프로젝트에 있는 경우에는 무시됩니다.
또한 Xcode는 중단점이 있는 소스 라인이 포함된 프로젝트에 있을 때 중단점에 대해 작업을 수행하는 경우에만 중단점 작업을 올바르게 처리하는 것처럼 보입니다.
다른 프로젝트를 통해 중단점을 삭제하거나 사용하지 않도록 설정하면 디버거에 중단점이 표시되어도 작업이 적용되지 않는 경우가 있습니다.그래서 저는 비활성화된 중단점이나 앞에서 제거한 (지금은 보이지 않는) 중단점에서 깨어지는 제 자신을 발견할 것입니다.
중단점이 작동하지 않게 된 다음 빌드/모든 대상 정리를 수행하여 다시 작동하도록 했습니다.
장치 버전과 Xcode 간의 호환성이 문제일 수 있다고 생각합니다.iOS 5.0.1을 실행하는 iPhone 4S에서 디버깅을 시도할 때 이 문제가 발생합니다.저는 여전히 Xcode 3.2.5를 사용하고 있습니다.Organizer 창에서 "개발을 위해 이 장치 사용"을 선택하여 핸드셋에서 기호를 가져왔습니다.그러나 이 전화기는 중단점을 거부합니다.이전의 3GS는 중단점, 동일한 Xcode 프로젝트, 동일한 설정...단지 다른 장치와 iOS 4.0을 실행하고 있습니다. 제가 기호를 가지고 있기 때문에 이것은 3.2.5의 Xcode 버그인 것 같습니다.지금까지 여기에 게시된 모든 솔루션을 사용해 본 결과, 문제의 해결책은 XCode 4로 업그레이드하는 것입니다.기본 SDK가 디버그할 시스템만큼 높지 않으면 효과적으로 디버그할 수 없습니다.아마도 그것은 명백할 것입니다 - 누가 확인할 수 있습니까?
편집: 이것이 사실임을 확인할 수 있을 때 업데이트하겠습니다.
빌드 폴더를 삭제하여 문제가 해결되었습니다.
그렇지 않으면 중단점 대신 다음 함수를 호출할 수 있습니다.
void BreakPoint(void) {
int i=1;
#if !__OPTIMIZE__
printf("Code is waiting; hit pause to see.\n");
while(i);
#endif
}
다시 시작하려면 수동으로 i를 0으로 설정한 다음 다시 시작 버튼을 누릅니다.
XCode 6.3.1에서도 동일한 현상이 발생했습니다.다음을 통해 해결했습니다.
- 보기로 이동 -> 네비게이터 ->디버깅 네비게이터 표시
- 프로젝트 루트에서 마우스 오른쪽 버튼 클릭 -> 중단점 이동(사용자 옵션을 선택한 경우)
- (필요할지는 모르겠지만 공유 중단점 옵션도 선택했습니다.)
변경한 후 중단점 이동 옵션을 다시 프로젝트로 설정하고 중단점 공유 옵션을 선택 취소하면 계속 작동합니다.
왜 그런지는 모르겠지만, 이것은 나의 약점을 되찾아줍니다.
이 경우와 Xcode 6 이상에서는 중단점 상태 버튼이 활성화되었는지 확인합니다(파란색 화살표 모양 버튼).
Xcode 4에서
- Product menu > Manage Schemes
- Select the scheme thats having debugging problems (if only one choose that)
- Click Edit button at bottom
- Edit Scheme dialog appears
- in left panel click on Run APPNAME.app
- on Right hand panel make sure youre on INFO tab
- look for drop down DEBUGGER:
- someone had set this to None
- set to LLDB if this is your preferred debugger
- can also change BUILD CONFIGURATION drop down to Debug
- but I have other targets set to AdHoc which debug fine once Debugger is set
문제를 발견했습니다.어떻게든 "디버깅 시 분해 표시"가 XCode에서 활성화되어 문제가 발생합니다.사용하지 않도록 설정했을 때 모든 디버거가 소스 코드에서 중지되었습니다.
여러분은 을 다에서찾수있다니습을음 아래에서 수 .Product->Debug Workflow->Show Disassembly
디버깅할 때.
메뉴인 "Activate/Disactivate 에서 "Activate/ Breakpoints"를 할 수 .
위의 모든 것을 시도했지만 저는 디버깅 중단점을 한 번만 비활성화하고 활성화하는 것이 효과가 있었습니다.
중단점을 설정할 때 마우스 오른쪽 버튼을 클릭하면 중단점 처리 방법(로그 변수 및 계속, 실행 일시 중지 등)에 대한 몇 가지 옵션이 표시됩니다.
또한 디버그 환경설정에서 "Load Symbolics lazy"가 선택되어 있지 않은지 확인합니다.
(Xcode 3.1에 적용됨, 이전/이후 버전은 확실하지 않음)
또한 앱의 AppStore 배포판이 장치에도 설치되어 있지 않은지 확인합니다.
또 다른 확인할 사항은 디버그 모드에 대한 "Entitlements" plist 파일이 있는 경우(키체인으로 작업을 수행하기 때문에 가능) plist 파일에 "get-task-allow" = YES 행이 있는지 확인하십시오.그렇지 않으면 디버깅 및 로깅이 중단됩니다.
Xcode의 중단점은 3가지 상태로 보입니다.클릭하면 다른 설정이 나타납니다.진한 파란색은 사용 가능하고 회색으로 비활성화되었으며 때때로 중단점을 다시 클릭하여 진한 파란색으로 전환해야 하는 옅은 파란색을 볼 수 있습니다.
이 외에는 run 명령어가 아닌 debug 명령어로 시작해야 합니다.옵션 + 명령 + 리턴을 누르거나 실행 메뉴에서 이동(디버그) 옵션을 눌러 이 작업을 수행할 수 있습니다.
Xcode 3.2.3 SDK 4.1 브레이크포인트는 무작위로 실패합니다.빌드를 청소하고 빌드에서 터치 명령을 사용하면 다시 작동합니다.
언급URL : https://stackoverflow.com/questions/64790/why-arent-xcode-breakpoints-functioning
'programing' 카테고리의 다른 글
Postgresql이 "createdb"를 슈퍼 사용자로 사용하여 db를 생성하지 않았지만 오류를 출력하지 않습니다. (0) | 2023.05.10 |
---|---|
깃클론과 체크아웃의 차이점은 무엇입니까? (0) | 2023.05.10 |
AngularJSongClass 조건부 (0) | 2023.05.10 |
Eclipse에서 작업영역을 삭제하는 방법은 무엇입니까? (0) | 2023.05.10 |
jQuery를 사용하여 스팬 값을 설정하는 방법 (0) | 2023.05.10 |