etc./StackOverFlow

"The breakpoint will not currently be hit. No symbols have been loaded for this document." 를 어떻게 수정합니까? Warning?

청렴결백한 만능 재주꾼 2021. 12. 31. 03:33
반응형

질문자 :Community Wiki

익스프레스 에디션의 AC# 데스크톱 응용 프로그램이 작동했지만 5초 후에 작동하지 않았습니다.

나는 다음을 시도했다 :

  • 디버그 구성, 디버그 플래그 및 전체 디버그 정보가 모든 어셈블리에 설정되어 있는지 확인합니다.
  • 내 전체 컴퓨터에서 프로젝트와 관련된 모든 bin 및 obj 폴더와 모든 DLL 파일을 삭제합니다.
  • 처음부터 문제를 일으키는 프로젝트를 다시 만드십시오.
  • 재부팅

솔루션에 두 개의 Windows Forms 프로젝트가 있습니다. 그 중 하나는 디버그 정보를 로드하고 다른 하나는 로드하지 않습니다. 둘 다 프로젝트 파일에서 정확히 같은 방식으로 디버그 정보를 얻으려는 어셈블리를 참조합니다. 어떤 아이디어?


이 질문을 검토하기 위해 돌아올 때 주로 나 자신을 위해 여기에 추가하고 싶습니다. 기호는 어셈블리가 로드될 때까지 로드되지 않고 어셈블리는 필요할 때까지 로드되지 않습니다. 중단점이 주 어셈블리의 한 함수에서만 사용되는 라이브러리에 있는 경우 해당 함수가 호출될 때까지 기호가 로드되지 않으며 중단점이 적중되지 않은 것으로 표시됩니다.

Debug > Break All 사용하는 즉시 디버깅을 시작하고 Debug > Windows > Modules 합니다. 프로세스에 로드된 모든 어셈블리 목록이 표시됩니다. 디버그 정보를 얻으려는 항목을 찾습니다. 마우스 오른쪽 버튼을 클릭하고 기호 하중 정보를 선택합니다. 어셈블리에 대한 .pdb 파일을 찾은 모든 디렉터리를 나열하는 대화 상자가 나타납니다. 실제 .pdb 위치에 대해 해당 목록을 확인하십시오. 오래된 것을 찾지 않는지 확인하십시오.

일반 프로젝트에서 어셈블리와 해당 .pdb 파일은 항상 IDE에 의해 .exe와 동일한 폴더, 즉 프로젝트의 bin\Debug 폴더에 복사되어야 합니다. GAC를 가지고 놀고 있다면 GAC에서 하나를 제거해야 합니다.

Community Wiki

릴리스가 아니라 디버그에 있는지 확인하십시오.

디버그에 있을 때:

먼저 프로젝트를 마우스 오른쪽 버튼으로 클릭하여 프로젝트를 다시 빌드하십시오. > 다시 빌드 작동하지 않으면 프로젝트를 정리하십시오(프로젝트를 마우스 오른쪽 단추로 클릭 > 정리).

작동하지 않으면 다음을 확인하십시오.

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭
  2. [속성] 선택
  3. [빌드] 탭 선택
  4. [DEBUG 상수 정의][TRACE 상수 정의] 가 선택되어 있는지 확인하십시오.
  5. [코드 최적화] 가 선택 해제되어 있는지 확인하십시오.
  6. 빌드 탭 페이지 하단의 [고급] 버튼 클릭
  7. [디버그 정보:] 가 [전체]로 설정되어 있는지 확인하십시오.
  8. [확인]을 클릭하고 프로젝트를 다시 빌드하십시오 ;-)

(6단계는 .pdb 파일을 생성하며 이는 디버깅 기호입니다)

Community Wiki

시도하기 쉬운 것 - 이미 시도했을 수도 있습니다. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 버튼으로 클릭하고 "솔루션 정리"를 클릭하면 솔루션과 관련된 모든 컴파일 및 임시 파일이 삭제됩니다 .

솔루션을 다시 빌드하고 디버그를 다시 시도하십시오.

또한 솔루션에서 여러 프로젝트를 중단하는 데 문제가 있었습니다. 일부는 x86으로, 일부는 x64로 컴파일되었습니다.

Community Wiki

디버그/일반 설정에서 "내 코드만" 옵션을 비활성화합니다.

Community Wiki

비슷한 스레드에서 찾은 Hans K의 이 수정 사항을 교차 게시 >> 여기 << :

솔루션 -> 속성을 마우스 오른쪽 버튼으로 클릭

Common Properties --> Startup Project 아래를 살펴보십시오.

여러 시작 프로젝트 선택

디버그해야 하는 프로젝트에서 작업 시작을 선택합니다.

Community Wiki

선택한 답변으로 인해 문제가 해결되었습니다. 하지만 몇 가지 작업을 더 해야 합니다.

드롭다운에서 "디버그"를 선택한 경우에도:

여기에 이미지 설명 입력

그리고 프로젝트 속성 > 빌드에서:

여기에 이미지 설명 입력

Visual Studio가 특정 프로젝트에 기호를 로드하지 않았습니다. 그래서 해당 드롭다운에서 "구성 관리자"를 선택하고 내 웹 프로젝트에 대한 설정이 잘못된 것을 확인했습니다.

여기에 이미지 설명 입력여기에 이미지 설명 입력

그런 다음 "디버그"로 설정하고 .pdb 파일을 생성하기 시작했습니다. 하지만 PDB와 DLL을 수동으로 복사하고 VS가 찾고 있던 폴더에 넣어야 합니다(여기에 선택한 답변이 도움이 되었습니다).

여기에 이미지 설명 입력

Community Wiki

때때로 이 오류가 발생하더라도 breakpoint 여전히 적중하므로 오류를 무시하십시오. MVC web app Views 에서 상당히 자주 발생합니다.

Community Wiki

Debug > Windows > Modules 는 어떤 모듈이 로드되었는지 확인하여 올바른 방향으로 안내합니다.

제 경우에는 IIS Express가 임시 ASP.NET 파일과 다른 DLL을 로드하는 것 같았습니다.

해결책?

  1. C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
  2. 이 디렉토리의 모든 것을 삭제하십시오!

Community Wiki

첨부된 스크린샷과 같이 '프로세스에 연결' 옵션을 '디버그할 코드 유형 자동 결정' 옵션으로 설정하기만 하면 오류를 수정할 수 있었습니다.

다음 단계를 따르십시오.

  • 메뉴 표시줄에서 디버그 로 이동
  • 프로세스에 연결을 클릭하십시오.
  • 연결 대상 옵션 근처에서 선택 버튼을 클릭합니다.
  • 코드 유형 선택 창이 나타납니다.
  • 이제 디버그할 코드 유형 자동 결정 옵션을 선택하고 확인 버튼을 클릭합니다.
디버깅 오류 수정

Community Wiki

bin/Debug 폴더에 .pbd 파일이 없는지 확인하십시오. 그런 다음 프로젝트의 "속성"으로 이동하여 맨 아래에서 "빌드"를 선택한 다음 "고급"을 선택하십시오. 나타난 새 창의 "디버그 정보"에서 "전체"를 선택하십시오. 이것은 내 문제였으며 나를 위해 해결했습니다.

설정을 찾을 위치 표시

Community Wiki

제 경우에는 프로젝트 속성에서 "코드 최적화"를 선택했습니다. 이로 인해 VS는 내 어셈블리를 "내 코드가 아님"으로 보고 그에 대한 기호를 로드하지 않았습니다.

해결책은 이것을 선택 해제하는 것이 었습니다. 코드 최적화 확인란의 위치

Community Wiki

솔루션이 릴리스 모드에 있는지 확인하십시오.

Community Wiki

Windows 내에서 관리자로 Visual Studio를 실행해 보십시오.

Community Wiki

제 경우에는 릴리스 모드에서 디버그하려고 합니다. 일단 디버그 모드로 변경합니다. 그것의 작동

Community Wiki

디버그 -> 옵션 -> 일반 -> Enable Just My Code " 선택 해제

이것은 나를 위해 일했습니다.

Community Wiki

컴파일러 설정에서 "디버그 정보 생성"을 활성화해야 합니다.

Community Wiki

Solution Configuration 드롭다운 목록을 확인하십시오. Release 아닌 Debug 를 선택했는지 확인하십시오.

Community Wiki

문제의 원인을 찾았습니다. 이 코드는 "CodeFile" 특성(ASP.NET 2.0 이상) 대신 .aspx 파일의 Page 지시문에서 "CodeBehind" 특성을 사용했습니다. 필사적인 며칠 후, 간단한 검색 및 교체로 문제가 해결되었습니다.

Community Wiki

Microsoft Visual Studio Express 2013 에디션에는 "디버깅 시작, 디버그 + Windows + 모듈" 옵션이 없습니다.

도구 옵션 디버깅에서 "관리되는 호환성 모드 사용"을 선택 취소하면 이 문제가 해결됩니다.

Community Wiki

위에서 언급한 모든 것을 시도했지만 아무 것도 작동하지 않았습니다. [해결책을 정리하고 PDB 파일 등을 확인하십시오.]

동일한 솔루션을 게시해도 문제가 해결되지 않았습니다.

그런 다음 해결하기 위해 일반적으로 수행하는 작업으로 돌아갔습니다(이 완고한 Visual Studio를 속임).

내가 한 일은 코드를 의도적으로 변경하고 솔루션을 게시하는 것뿐이었습니다. 그런 다음 변경 사항을 되돌리고 다시 게시했습니다.

짜잔 [PDB파일 악령퇴치].. 똑똑한 해결은 아니었지만 효과가 있었네요.. :-|

Community Wiki

웹 응용 프로그램(IIS Express)만 해당:

  • IIS Express Tray를 마우스 오른쪽 버튼으로 클릭하고 IIS를 닫습니다.
  • 클린 솔루션

IIS 트레이

Community Wiki

  1. 깨끗한 솔루션 및 재구축
  2. 구성이 디버그로 설정되어 있는지 확인하십시오.
  3. PDB 파일이 자체 디버그 폴더에 있는지 확인하십시오.
  4. 디버그 메뉴에서 모든 중단점 활성화를 클릭합니다.

Community Wiki

Visual Studio에서 다음 두 설정이 동일한지 확인하십시오.

테스트 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성, 빌드 탭으로 이동하여 플랫폼 대상을 확인합니다.

광산은 모두 "모든 CPU"로 설정되어 있으므로 x64

여기에 이미지 설명 입력

주 메뉴 모음에서 테스트, 테스트 설정, 기본 프로세서 아키텍처로 이동합니다.

광산은 X86으로 설정되었습니다.

여기에 이미지 설명 입력

위의 설정과 일치하도록 이것을 X64 로 변경하면 기본 제공 Visual Studio 메뉴 "디버그 테스트"가 작동하고 "중단점이 현재 적중되지 않습니다."라는 메시지와 함께 이전에 무시되었던 중단점이 적중되었습니다. 이 문서에 로드된 기호가 없습니다."

업데이트:

Visual Studio 2019의 경우 메뉴가 약간 이동되었습니다. 여기에 이미지 설명 입력

Community Wiki

그 답변 중 어느 것도 내 문제를 해결하지 못했습니다. 중지가 있는 프로젝트가 실제로 로드된 프로젝트가 아니라는 사실을 기반으로 다른 것을 시도했습니다. Hans Passant가 디버거를 중지하려는 .dll과 .exe 파일 근처에 복사된 관련 .pdb 파일을 썼을 때 발견했습니다. 해당 파일의 날짜가 오래되었으므로 런타임에 업데이트되지 않았다고 생각했습니다. 수동으로 삭제하고 Visual Studio에서 다른 쌍을 만들고 이 새 쌍을 .exe 근처에 놓습니다. 이제 중단점이 작동합니다!

Visual Studio는 다른 파일이 있기 때문에 .exe 근처에 기존 파일(.dll 및 .pdb)을 복사하고 교체할 수 없습니다. 따라서 수동으로 삭제하면 VS가 .exe 근처에 새 항목을 만들 수 있습니다.

나는 다른 변경 사항(다른 답변에서 확인 등)이 무언가를 유발하고 Visual Studio가 프로젝트 폴더에서 exe 근처의 폴더로 dll 및 pdb를 복사하고 교체했다고 생각합니다. 그래서 그것이 해결책이었습니다.

문제의 근본 원인은 Visual Studio가 중지와 함께 프로젝트의 파일이 아닌 런타임에 다른 파일을 사용하기 때문이라고 생각합니다.

누군가를 돕기 위해이 답변이 될 수 있습니다!

Community Wiki

이 모든 일을 그냥 하는 것보다

닫았다가 다시 열기

문제를 해결할 솔루션

Community Wiki

비슷한 문제가 있었고 다음을 수행했습니다. Debug=>Options=>General => "Enable Just My Code"에 대한 확인 표시 제거 이것은 저에게 효과적이었습니다.

Community Wiki

명확하게 하기 위해 확인해야 할 사항: 구성이 '릴리스'가 아닌 '디버그'로 설정되어 있는지 확인하십시오. '릴리스' 모드에서 시작 프로젝트를 디버그할 수 있지만 참조된 클래스 라이브러리는 디버그할 수 없습니다.

Community Wiki

프로젝트 속성(그런 다음 빌드 구성 선택) > 빌드 탭 > 고급... > 디버그 정보(드롭다운)

'all' 또는 'pdb-only'로 설정한 다음 다시 빌드하십시오.

Community Wiki

나는 내가 몇 년 늦었다는 것을 알고 있지만, 내가 뭔가를 잘못했다고 생각하고 위의 단계를 따랐고 실수로 솔루션 구성을 'Release'로 설정했다는 것을 깨달았습니다. :)

Community Wiki

이것은 위의 다른 옵션을 시도하는 데 시간이 걸렸고 이상한 이유로 디버깅이 작동을 멈췄습니다.

도구 -> 옵션 -> 디버깅 -> 일반 -> (선택 해제) "원본 파일이 원본 버전과 정확히 일치하도록 요구" 옵션

Community Wiki

출처 : http:www.stackoverflow.com/questions/2155930/how-do-i-remedy-the-breakpoint-will-not-currently-be-hit-no-symbols-have-been

반응형