내 중단 점이 작동하지 않는 이유는 무엇입니까?


112

중단 점이 설정되어 있지만 Xcode는이를 무시하는 것으로 보입니다.


2
제품청소는 나에게 도움이
알렉산더 Bekert


컴퓨터가 다시 작동하도록하려면 컴퓨터를 완전히 다시 시작해야했는데 이제는 버그가 매우 많습니다. xcode 10.2.1을 사용하고 있습니다.
llamacorn

2
Xcode 11, Xcode가 작동하지 않는 경우 다시 시작 및 정리, Mac이 작동하지 않는 경우 다시 시작하십시오. 장치에서 앱을 삭제하고 다시 빌드하면이 문제가 해결됩니다. 이 도움말 사람이 희망
랜달 왕

답변:


148

우선, 나는 끄기 라고 말한 이전 사람들과 100 % 동의합니다 Load Symbols Lazily.

추가 할 두 가지가 더 있습니다.

(내 첫 제안은 당연한 것 같지만, 누군가 나에게 처음 제안했을 때 내 반응은 다음과 같이 진행되었습니다. "이봐, 제발, 정말 내가 더 잘 알지 못할 거라고 생각 하는군요 ...... 오.")

  1. 실수로 "Active Build Configuration"을 "Release"로 설정하지 않았는지 확인하십시오.

  2. 프로젝트의 그래픽 트리 디스플레이에있는 "대상"에서 대상을 마우스 오른쪽 단추로 클릭하고 "정보 가져 오기"를 수행하십시오. "Generate Debug Symbols"(또는 유사)라는 속성을 찾고 이것이 CHECKED (일명 ON)인지 확인합니다. 또한 "Debug Information Format"이라는 속성을 찾아 (Target >> Get Info에서도) "Dwarf with dsym file"로 설정해 볼 수 있습니다.

Target >> Get Info 아래에 영향을 줄 수있는 여러 다른 속성이 있습니다. 코드 최적화 또는 압축과 같은 것을 찾아서 그 내용을 끄십시오 (나는 당신이 디버그 모드에서 작업하고 있다고 가정하므로 이것은 나쁜 조언이 아닙니다). 또한 기호 제거와 같은 것을 찾아서 꺼져 있는지 확인하십시오. 예를 들어 디버그 대상에 대해 "Strip Linked Product"를 "No"로 설정해야합니다.


8
엑스 코드 4.5.2에 그 확인하는 또 다른 것은, 그래서 나는이 문제를 가지고 있었다 그리고 내가 활성화 "링크 타임 최적화"했기 때문으로 밝혀졌다
taxilian

6
빌드 구성을 변경하려면 실행-정보에서 제품-> 구성표-> 구성표 편집으로 이동합니다. 나를 위해 일한 것은 그 메뉴에서 "Debug Executable"을 확인하는 것이었다.
Jeffrey Sun

2
Bison 구문을 추가하기 위해 상위 답변을 하이재킹하는 것은 중단 점이 작동하지 않는 또 다른 (이국적인) 원인으로 보입니다 (아래 답변 참조). 그 문제를 가진 다음 사람에게 시간을 절약 할 수 있기를 바랍니다.
데이브

2
또한 실수로 ⌘Y로 중단 점 활성화를 전환하는 것도 매우 쉽습니다. 그러니 조심하세요, 아이들.
dsgrnt 2014

1
나는 포인트 번호 1을 시도했고 그것은 나를 위해 일했습니다. 정말 저를 도왔습니다. 찬성.
NSPratik

49

Xcode 7에서 나를 위해 일한 것은 다음과 같습니다.

1) 대상-> 구성표-> 실행-이 디버그 모드 (이전 릴리스)인지 확인합니다.

2) 아래를 참조하여 "실행 파일 디버그"옵션을 확인하십시오.

여기에 이미지 설명 입력


4
이것은 나에게 정확히 무슨 일이 있었는지입니다 확인란을 선택하지이었다
anoop4real는

나에게도 같은 문제입니다. 이 옵션은 기본적으로 활성화되어 있어야하지 않습니까 (XCode 8.3)? 어쨌든 우리는 디버그 할 의사가있는 모든 개발자가되어야하지 않습니까?
dgmz

당신이 옵션 1. 다른 이미지를 제공하는 경우 엑스 코드 9.3에서 나를 위해 일했다, 그것은 좋은 것입니다
카지 압둘라 알 마문

24

Xcode 디버깅 환경 설정으로 이동하십시오. "Load Symbols lazily"가 선택되지 않았는지 확인하십시오.


7
안타깝게도 Xcode 6에는 "디버깅"환경 설정이 없으며 문서에 "lazily"가 표시되지 않습니다. 한숨.
Oscar

1
좋아, 이제 XCode 6에서 'Load Symbols Lazily'옵션을 찾을 수 없습니다
RNA

14

나는 (다시)이 같은 문제를 겪고있었습니다. "Load symbols lazily"를 세 번 확인하고 정보 생성 플래그를 제거하고 디버그 한 후 다음을 수행했습니다.

  1. Xcode 종료
  2. 터미널 창을 열고 프로젝트 디렉토리로 이동하십시오.
  3. .xcodeproj 디렉토리로 cd
  4. .pbxproj 파일을 제외한 모든 파일 삭제 (frank.mode1v3 및 frank.pbxuser가 있음)

.xcodeproj 번들을 마우스 오른쪽 버튼으로 / 옵션 클릭하고 "패키지 내용 표시"를 선택하여 파인더에서 동일한 작업을 수행 할 수 있습니다.

Xcode를 다시 시작했을 때 모든 창이 기본 위치 등으로 재설정되었지만 중단 점이 작동했습니다!


2
이것은 작동하지만 모든 기본 설정을 삭제합니다. 다른 작업이 수행되지 않을 때 수행해야합니다.
Rémi Doolaeghe

나를 위해 일했습니다, 감사합니다. Xcode가 왜 그렇게 짜증나는지 궁금합니다. Xcode는 Apple이 작성한 최악의 소프트웨어입니다.
오리

와, 5 살이 네요. 여전히 작동하고 있으며 여전히 문제라고 믿기 어렵습니다!
Frank Szczerba 2014 년

나를 위해 일하지 않았습니다. Xcode 6.01을 실행하고 있습니다. 이제 빌드 할 때 여러 누락 된 파일 오류가 발생합니다. 해결하기 위해 코드를 되돌리고 있습니다.
Native_Mobile_Arch_Dev 2014 년

xcode 사용자 인터페이스 상태 데이터를 커밋 할 때 Xcode를 다시 시작하기 만하면되었지만 제 경우는 git 버전 관리 때문이었습니다.
Juan Boero

13

Xcode 4.x의 경우 : 제품> 디버그 워크 플로로 이동하고 "디버깅시 디스 어셈블리 표시"를 선택 취소합니다.

Xcode 5.x의 경우 디버그> 디버그 워크 플로로 이동하고 "디버깅시 디스 어셈블리 표시"를 선택 취소합니다.


11

다른 이유

DeploymentPostprocessingBuildSettings에서 NO로 설정 - 자세한 내용은 여기

간단히 말해서-

이 설정을 활성화하면 바이너리를 제거하고 파일 모드, 소유자 및 그룹 정보를 표준 값으로 설정해야 함을 나타냅니다. [DEPLOYMENT_POSTPROCESSING]

여기에 이미지 설명 입력


XCode 7로 업데이트 한 후이 설정은 어떻게 든 YES내에서만 있었고 subproject중단 점은 subprojects. 로 설정 한 후 NO완벽했습니다!
Maheswaran Ravisankar

이것은 프로젝트를 청소 한 후에 만 ​​저에게 효과적이므로 전체 재구성이 수행됩니다.

8

이 게시물을 참조하십시오 : 중단 점이 Xcode에서 작동하지 않습니까? . 프로그램이 gdb의 도움으로 실행되지 않는 경우 "Debug"대신 "Run"을 푸시 할 수 있습니다.이 경우 중단 점이 작동 할 것으로 예상 할 수 없습니다!


Xcode 6.4에는 이제 실행 버튼 만 있으며 디버그 구성을 실행하는지 여부는 현재 선택한 구성표 설정에 따라 다릅니다.
user2067021

6

이에 대한 가능한 솔루션 중 하나는 .... 제품> 구성표> 구성표 편집> .. 실행> 정보> 실행 파일에서 "디버그 실행 파일"을 확인하는 것입니다.


이것은 이틀 동안 머리를 두드린 후에 나를 위해 일했습니다.
Dileep Perla

도움이되어 기쁩니다.
Soropromo

5

이것은 반나절 동안 Xcode 9에서 나를 가졌습니다. 결국 간단한 디버그 설정이었습니다.

디버그> 디버그 워크 플로로 이동하여 '항상 디스 어셈블리 표시'가 꺼져 있는지 확인합니다. 그렇게 간단합니다. :(


이것은 나를 위해 작동합니다, 감사합니다
Md.Harish-Uz-Jaman Mridha Raju

5

XCode 9.4.1을 사용하는 나를위한 솔루션 (중단 점에서 멈추지 않음) :

빌드 대상에서-> 빌드 설정-> 최적화 수준 : "속도 최적화"-> "최적화 없음"에서 전환됨 (이제 느리지 만 작동 함)


5

내 경우에는 Xcode-Product-Clean Build Folder 다음에 Product-Run (Play Xcode 버튼이 아님)이 매우 간단했습니다.

(Xcode 재생 버튼을 길게 눌러 단위 테스트로 전환 한 후 Xcode 11 -beta 4에서 문제가 발생했습니다)


4

동일한 문제 (Xcode 6의 C 코드가 중단 점에서 멈추지 않음)와 함께이 페이지에 왔으며 위의 솔루션 중 어느 것도 작동하지 않았습니다 (프로젝트는 설정 측면에서 거의 즉시 사용할 수 없었으므로 디버거 설정이 잘못된 값으로 설정) ...

문제를 줄이는 데 상당한 시간을 낭비한 후 마침내 (내 코드의) 범인을 파악했습니다.

Xcode (/ LLVM)는 Bison 스타일 #line전 처리기 명령을 좋아하지 않습니다 .

그것들을 제거하면 문제가 해결되었습니다 (디버거가 내 중단 점에서 중지됨).


4

Xcode 4의 경우 :

go Product -> Debug ->  Activate Breakpoints

감사! 도움이되었습니다. 나는 이것을 직접 게시하려고했는데, 분명히 실수로 ⌘Y를 눌렀다.
Ovi

2

Xcode (2.4.1)에서 중단 점에 많은 문제가 있습니다. 다른 프로젝트 만 포함하는 프로젝트 (예 : Visual Studio의 솔루션)를 사용합니다. 시작 프로젝트에 중단 점이 하나 이상 설정되어 있지 않으면 중단 점이 전혀 작동하지 않는 경우가 있습니다 (예 : 내 코드의 진입 점을 포함하는 중단 점). 유일한 중단 점이 "하위 수준"프로젝트에있는 경우 무시됩니다.

또한 중단 점이있는 소스 라인이 포함 된 프로젝트에있을 때 중단 점에서 작업하면 Xcode가 중단 점 작업 만 올바르게 처리하는 것처럼 보입니다.

다른 프로젝트를 통해 중단 점을 삭제하거나 비활성화하려고하면 디버거에 표시되는 경우에도 때때로 작업이 적용되지 않습니다. 따라서 비활성화 된 중단 점이나 이전에 제거했던 (현재는 보이지 않는) 중단 점에서 중단되는 것을 발견 할 것입니다.


2

내 중단 점이 작동하지 않게 한 다음 모든 대상을 빌드 / 정리하여 다시 작동하도록했습니다.


2

문제는 장치 버전과 Xcode 간의 비 호환성 일 수 있다고 생각합니다. iOS 5.0.1을 실행하는 iPhone 4S에서 디버깅을 시도 할 때이 문제가 발생합니다. 나는 여전히 Xcode 3.2.5를 사용하고 있습니다. Organizer 창에서 "개발 용으로이 장치 사용"을 선택하여 핸드셋에서 기호를 얻었습니다. 그러나이 전화는 중단 점을 거부합니다. 내 오래된 3GS 중단 점, 동일한 Xcode 프로젝트, 동일한 설정 ... 단지 다른 장치이며 iOS 4.0을 실행합니다. 나는 기호가 있기 때문에 이것은 3.2.5의 Xcode 버그라고 생각합니다. 지금까지 여기에 게시 된 모든 솔루션을 시도한 결과 내 문제에 대한 해결책은 계속해서 XCode 4로 업그레이드하는 것이라고 결정했습니다. 기본 SDK가 적어도 디버깅 할 시스템만큼 높지 않으면 효과적으로 디버깅 할 수 없습니다. 아마도 그것은 명백한 것입니다-누구든지 확인할 수 있습니까?

편집 : 이것이 사실임을 확인할 수있을 때 업데이트하겠습니다.



2

XCode 6.3.1에서도 똑같은 일이 발생했습니다. 나는 그것을 다음과 같이 고칠 수 있었다.

  • 가는 보기 -> Navigators-> 쇼 디버그 항법
  • 프로젝트 루트 에서 마우스 오른쪽 버튼을 클릭 -> 중단 점 이동 (사용자 옵션을 선택한 경우)
  • ( 필요한지 확실하지 않지만 옵션 공유 중단 점을 선택했습니다 .)

변경 한 후 Move breakpoints 옵션을 프로젝트로 다시 설정 하고 Share breakpoints를 선택 취소합니다. 옵션을 해도 여전히 작동합니다.

왜 그런지 정확히 모르겠지만 이것은 내 중단 점을 다시 얻습니다.


감사합니다! 이것은 또한 디버깅 로그의 느린 응답 성을 수정했습니다
Jim75

2

이를 위해 그리고 Xcode 6 이상에서도 중단 점 상태 버튼이 활성화되어 있는지 확인하십시오 (파란색 화살표 모양의 버튼).

여기에 이미지 설명 입력


1

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

1

나는 문제를 발견했다. 어떻게 든 " 디버깅 할 때 디스 어셈블리 표시 "가 내 XCode에서 활성화되어 문제가 발생합니다. 비활성화하면 모든 디버거가 소스 코드에서 중지되었습니다.

아래에서 찾을 수 있습니다 Product->Debug Workflow->Show Disassembly. 디버깅 할 때.


1

드롭 다운 메뉴에서 중단 점을 활성화 / 비활성화 할 수 있습니다. 여기에 이미지 설명 입력


1

다른 모든 방법이 실패하면 중단 점 대신 다음 함수를 호출 할 수 있습니다.

void BreakPoint(void) {
    int i=1;
    #if !__OPTIMIZE__
    printf("Code is waiting; hit pause to see.\n");
    while(i);
    #endif
}

다시 시작하려면 i를 수동으로 0으로 설정 한 다음 다시 시작 버튼을 누르십시오.


1

위의 모든 것을 시도했지만 디버깅 중단 점을 한 번만 비활성화 한 다음 활성화하면 효과가있었습니다.


@IshantMrinal 왜 이것이 관련이 없습니까? 사용자는 자신의 시나리오에서 작동하는 답변을 제공했습니다.
Noel Widmer

0

중단 점을 설정할 때 마우스 오른쪽 버튼을 클릭하면 중단 점이 처리되는 방법에 대한 여러 옵션이 표시됩니다 (변수 로그 및 계속, 실행 일시 중지 등).

또한 디버그 기본 설정에서 "Load Symbols lazily"가 선택되어 있지 않은지 확인하십시오.

(Xcode 3.1에 적용되며 과거 / 미래 버전은 확실하지 않습니다.)


0

또한 앱의 AppStore 배포가 장치에 설치되어 있지 않은지 확인하십시오.


0

확인해야 할 또 다른 사항은 디버그 모드에 대한 "Entitlements"plist 파일이있는 경우 (아마도 Keychain으로 작업을 수행하고 있기 때문일 수 있음) plist 파일에 "get-task-allow"= YES 행이 있는지 확인합니다. 이것이 없으면 디버깅 및 로깅이 중단됩니다.


0

Xcode의 중단 점에는 3 가지 상태가있는 것으로 보입니다. 그들을 클릭하면 다른 설정으로 이동합니다. 진한 파란색이 활성화되고 회색으로 표시된 것은 비활성화되며 때때로 중단 점을 다시 클릭하여 진한 파란색으로 이동해야하는 옅은 파란색을 보았습니다.

이 외에는 실행 명령이 아닌 디버그 명령으로 실행하고 있는지 확인하십시오. 옵션 + 명령 + 리턴을 누르거나 실행 메뉴에서 이동 (디버그) 옵션을 눌러이를 수행 할 수 있습니다.


0

Xcode 3.2.3 SDK 4.1 중단 점이 무작위로 실패합니다. 빌드를 정리하고 빌드에서 터치 명령을 사용하면 다시 작동한다는 것을 알았습니다.


0

다음은 내가 만난 모호한 것입니다. 공유 라이브러리 (또는 플러그인)에서 작업하는 경우 시작시 중단 점이 노란색으로 표시되어 키보드를 좌절시키고 디버그 프로세스를 종료 할 수 있습니다. 글쎄, 그러지 마! 기호는 앱이 라이브러리를로드 할 때까지로드되지 않으며,이 시점에서 중단 점이 유효합니다. 브라우저 플러그인에서이 문제가 발생했습니다. 내 플러그인을 인스턴스화 한 페이지를 탐색 할 때까지 BP가 비활성화되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.