Visual Studio 2015 프로젝트가 더 이상 디버그 모드에서 실행되지 않습니다.


95

이것은 디버그 구성에서 실행할 때도 얻는 것입니다.

내가 이것을 보여주는 방법은 "Just My Code" 를 활성화 하고 실행시 사용자 코드가없는 경우 경고하는 것입니다. 이것은 최근에 우리 프로젝트에서 일어난 일이며, 우리가 이것을 유발하기 위해 무엇을했는지 잘 모르겠습니다. 그러나 나는 그것을 고칠 수 없었다. 중단 점은 실행되지 않으며 빠른 감시는 이상한 결과를 제공합니다.

나는 문제를 인터넷 검색을 시도했지만 표준 "중단 점이 발생하지 않을 것"솔루션 중 어느 것도 작동하지 않았습니다. 나는 모두 아이디어가 없습니다.

구성 관리자를 확인했으며 모든 프로젝트도 디버그로 설정되어 있습니다.

여기에 이미지 설명 입력

"최적화 사용"을 끄고 "릴리스 빌드를 디버깅하고 있습니다"대화 상자가 더 이상 표시되지 않습니다. 중단 점에서 다시 실행되고 중지됩니다! 그러나 출력 창은 시작할 때 다음을 표시합니다.

모듈 'Navigo.exe'에 대한 기호가로드되지 않았습니다.

  1. 디버그 빌드 구성을 사용하거나 '내 코드 만 활성화'디버그 옵션을 비활성화합니다.
  2. 디버깅 옵션에서 '기호'설정을 확인하십시오.

그래서 이것은 더 이상 중단 점과 팝업을 사용할 수 없다는 나의 주요 문제를 해결 합니다. 중단 점이 작동하려면 기호를로드해야한다고 생각했기 때문에 이상합니다. 그렇다면 심볼이로드되지 않은 경우 중단 점은 어떻게 작동할까요? 그냥 나쁜 메시지일까요?


요컨대, 우리가 알지 못하는 문제가있었습니다. 그리고 전역 디버거 설정을 변경했으며 이제 두 가지 문제가 있습니다. 모든 것을 원래대로 되돌리고 첫 번째 문제를 설명하십시오 .
Hans Passant 2015-08-13

@HansPassant 이것이 원래 문제입니다. VS2015를 사용하도록 업그레이드 한 후 시작된 것 같습니다. 게시하기 전에 "이 작업을 할 것입니다"변경 사항을 되돌 렸습니다. "코드 최적화"를 선택 해제하는 것이 도움이 된 것 같습니다. 자세한 내용은 문제의 업데이트 2를 참조하세요.
Sen

솔루션이 무엇인지 설명 할 수 있습니까? 프로젝트는 무엇이며, 어떤 언어로되어 있으며, 무엇을 목표로하고 있으며, 어떤 것이 스타트 업 프로젝트입니까?
Lucian Wischik 2015-08-14

Just my Code를 다시 활성화합니다. 소스 코드가없는 참조 된 어셈블리를 디버깅하려고합니까?
Igor Quirino 2015

답변:


95

구성 관리자를 사용하여 디버그 구성에 대한 실제 설정이 무엇인지 확인합니다.-메뉴 빌드구성 관리자 ...에 있습니다. - Release 를 사용하도록 설정된 경우 :

구성 관리자

또한 프로젝트에서 DEBUG를 올바르게 정의 하고 "코드 최적화"가 선택되어 있지 않은지 확인하십시오.

속성


2
방금 확인했는데 모두 디버그로 설정되었습니다. 스크린 샷으로 게시물을 업데이트했습니다. 다른 아이디어가 있습니까?
Sen

1
내 질문을 수정했습니다. 최적화 코드가 확인되었으며 선택 취소하면 도움이 된 것 같습니다. 그러나 자세한 내용은 질문을 참조하십시오.
Sen

1
@Sen 누군가가 디버그 빌드 설정을 잘못 구성한 것 같습니다. 최적화 된 코드가있는 디버그 빌드는 의미가 없습니다. 기호 문제에 관해서 : 누군가 디버그 빌드를 위해 비활성화했을 수 있습니까? 빌드 설정에서 "고급"버튼을 누르고 디버그 빌드에서 "디버그 정보"가 "전체"로 설정되어 있는지 확인합니다.
cremor

6
최적화 코드를 선택 취소하면 트릭이 발생했습니다. 시작하기 위해 어떻게 확인했는지는 확실하지 않지만 일단 해제되면 모든 것이 다시 작동하기 시작하는 것처럼 보였습니다. 다른 모든 디버그 설정은 올 바르며 이것이 유일한 문제였습니다. 또한 더 이상 "Symbols not loaded"메시지가 표시되지 않습니다.
Sen

94

이것은 몇 가지 프로젝트에서도 나에게 일어났습니다. stuartd가 제안한대로 빌드 설정을 검토 했습니다 . 그러나 빌드 설정에서 '코드 최적화'가 활성화 되지 않았습니다 . 그래서 그것을 활성화하고 프로젝트를 저장했습니다. 그런 다음 확인을 취소하고 다시 저장했습니다. 문제 해결됨.

--optimize+플래그가 디버거에 전달되도록하는 일종의 버그가 있습니다. 활성화 한 다음 비활성화하는 것은 버그가 수정 될 때까지 쉬운 해결 방법입니다.


1
전에 IntelliJ IDE에서 본 적이 있지만 지금까지는 Visual Studio에서 본 적이 없습니다. 이상하게도 이것은 나에게도 효과적이었습니다.
ZaneDarken

1
2017 업데이트 : Visual Studio 2015 업데이트 3에서이 문제가 계속 표시됩니다. 수락 된 답변으로 문제가 해결되지 않았습니다. 이 대답은 그렇습니다.
Lews Therin

1
이 답변은 내 디버그 환경도 수정했습니다. 감사 !
bob.mazzo

1
와! 나는이 정확한 문제가 있었고 이것은 나에게도 효과적이었습니다. VS 2015 U3. 믿을 수없는 ...
AbeyMarquez

1
VS2017 커뮤니티, 여전히이 문제가 있습니다. 이 솔루션을 주셔서 감사합니다
윌리엄 보르고

20

이것은 업데이트 1을 적용한 후 나에게 발생하기 시작했습니다. 기존 프로젝트에서이를 표시하기 시작했으며 새로운 프로젝트로 복제 할 수 있습니다. 모든 구성이 DEBUG로 설정되고 최적화 가 선택 되지 않습니다 .

키커는 프로젝트를 처음 (또는 정리 후) 실행하면 메시지없이 잘 실행된다는 것입니다. 프로젝트를 중지했다가 다시 실행하면 (참고-프로젝트가 rebuiblt아님 ) 대화 상자가 표시됩니다.

유일한 해결책은 내 코드 만 옵션 을 끄는 것입니다.이 옵션은 문제없이 업데이트 1 이전에 있었기 때문에 해킹으로 보입니다.


6
그만한 가치를 위해 Microsoft 지원은 문제를 재현하고 조사 중입니다. 듣 자마자 답장 / 답변하겠습니다.
John T

2
VS2015 업데이트 1 이후에도 동일한 상황과 증상이 나타났습니다. 모든 디버그 세션 전에 Clean을 실행하면 실제로 그 후 처음에 올바르게 작동하기 때문에 해결 방법으로 사용할 수 있습니다. 재 구축 만으로는 충분 하지 않으며 청소가 필요합니다.
AronVanAmmers

2
Microsoft의 말은 이것이 알려진 문제라는 것입니다 (원래 디버거 팀에 갔지만 빌드 문제로 확인되었으며 현재 프로젝트 시스템 팀의 손에 있습니다.이 문제에 대해 열려있는 다른 버그가 있습니다. 우선 순위 1로 평가되었으므로 다음 업데이트를 위해 궤도에 올라야합니다. 예상대로 출시 될시기 (또는 실제로 업데이트에 포함 된 내용)에 대해 약속 할 수 없습니다. 디버깅 일반 옵션에서 최소한 "내 코드 만 활성화"를 끄는 것이 현재 해결 방법 인 것 같습니다.
John T

진행 상황을 추적 할 수 있도록이 문제에 대한 링크가 있습니까?
SkyrawrCode


13

언급 된 솔루션이 도움이되지 않은 경우 프로젝트의 AssemblyInfo.cs에서 명시 적 DebuggableAttribute 응용 프로그램을 확인하십시오. 컴파일러의 디버그 / 릴리스 옵션을 재정의하는 것 같습니다.

제 경우에는 파일에이 줄이있었습니다 (레거시 프로젝트, 어떻게 거기에 도달했는지 알 수 없음). 그것을 삭제하면 문제가 해결되었습니다.

[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]

2
감사합니다. 저는 제 클라이언트가 원본 소스 코드를 잃어버린 프로젝트를 진행 중이므로 디 컴파일러를 사용하여 생성해야했습니다. 내 유일한 추측은 디 컴파일러가이 줄을 넣었다는 것입니다.
jebar8

네, 제 경우에도 그 이유가 될 수 있습니다. 공유해 주셔서 감사합니다.
Dmitry Rotay 2016

10

메뉴 디버그옵션 을 선택하고 JIT 최적화 억제 옵션 을 선택 취소 하십시오 . 그것은 나를 위해 작동합니다.

출처 : https://connect.microsoft.com/VisualStudio/feedback/details/2116788/flag-optimize-is-passed-to-the-debugger-even-while-the-build-settings-optimize-code-is- mvc-c-web-projects-just-my-code 사용시 활성화되지 않음


링크가 (효과적으로) 끊어졌습니다. "Microsoft Connect가 사용 중지되었습니다"
Peter Mortensen

9

이 문제도 발생했습니다. 효과가 있었던 수정 사항은 단순히 내 프로젝트 를 정리 ( Build > Clean Solution)하고 다시 빌드 ( Build > Rebuild Solution)하는 것이 었습니다.


자세히 설명해 주시겠습니까? 예를 들어 어떻게 수행합니까 (호출 할 메뉴 명령 등)?
Peter Mortensen

5

이전 답변 중 어느 것도 나를 위해 일하지 않았습니다. IIS를 다시 시작 하면 문제가 해결되었습니다.


3

stuartd의 답변에 추가 메모를 추가하면됩니다 .

동일한 빌드 설정에 대한 모든 종속 프로젝트를 확인하십시오. 주 프로젝트에 적절한 설정이 있지만 종속 프로젝트에는없는 경우 동일한 메시지 프롬프트가 표시됩니다. 돌이켜 보면 당연한 말이 겠지만 가장 먼저 떠오르는 것은 아니었다.



2

이 목록의 거의 모든 것을 시도했지만 결국 솔루션 속성을 열고 "다중 시작 프로젝트"에서 "단일 시작 프로젝트"로 전환 한 다음 다시 돌아가서이 문제를 해결했습니다.

  1. 솔루션을 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택합니다.
  2. "공통 속성"에서 "다중 시작 프로젝트"선택을 "단일 시작 프로젝트"로 변경합니다.
  3. 확인 클릭
  4. 디버깅 실행
  5. 디버깅을 종료하고 1-3 단계를 반복하되 "다중 시작 프로젝트"로 다시 전환합니다.
  6. 여러 프로젝트에서 다시 디버깅 실행

2

나도 똑같은 문제가 있었어 ... 내가 뭘했는지에 상관없이-아무것도 효과가 없었어.

문제였던 새로운 빈 프로젝트였습니다. 결국 프로젝트제거하고 새 프로젝트를 추가했습니다. 새 프로젝트 에는 다른 이름 이 있어야했습니다 . 동일한 이름을 사용하면 오류가 다시 나타납니다. 재부팅 후에도 정리하고 다시 빌드합니다. Visual Studio 2015의 버그 일 것입니다.


2

저 에게는 개인 NuGet 서버 의 NuGet 참조 였습니다 . 어떻게 컴파일되었는지 모르겠지만 프로젝트 참조에 대한 참조를 변경하면 문제가 해결되었습니다.


1

Visual Studio 2015 Express 에서 Visual Studio 2012 Pro 프로젝트를 열 었는데 동일한 문제가 발생했습니다.

솔루션 속성 → 구성 속성을 확인한 결과 프로젝트가 Release & x86으로 설정되어 있음을 발견했습니다.

다시 Debug and Any CPU 로 변경 했는데 프롬프트가 사라졌습니다.


1

필자의 경우 OutlookVSTO 플러그인을 개발 중이 었는데 Outlook이 설치 프로그램을 테스트하는 동안 최근에 설치 한 DLL 파일의 릴리스 버전을 실수로로드했습니다.

Visual Studio가 예상했던 디버그 대신 해당 DLL을 사용하려고 한 것 같습니다. Outlook에서로드되는 DLL 파일을 수정하면이 문제가 해결되었습니다.


0

여기 에서 내 다른 대답을 복사 합니다 .

@romanoza가 언급했듯이 Microsoft는 다음 정보로 버그 보고서를 업데이트했습니다.

디버그-> 옵션-> 모듈로드시 JIT 최적화 억제 (관리 전용) 설정을 선택 취소하십시오.

이것이 해결 방법입니다. 그들은 나중에 다음과 같이 말합니다.

선택하지 않으면 특정 시나리오에서 내 코드의 성능과 동작이 모두 향상되므로 선택하지 않은 상태로 두는 것이 좋습니다.

마지막으로 감사의 말 :

해당 설정이 활성화 된 상태에서 작동하지 않는 버그이며 일부 고객이 해당 설정을 활성화 한 상태에서 여전히 디버깅을 원하는 경우 해당 상황에 대한 수정 작업을 진행 중입니다.




0

해결 단계 :

  • 문제가되는 프로젝트 속성 페이지 의 빌드 설정으로 이동합니다 .

  • "고급 ..." 버튼 까지 오른쪽으로 스크롤 합니다.

  • "Debug Info :""none"으로  설정되어 있지 않은지 확인 합니다.

    전체 옵션 을 사용하는 것이 좋습니다 .


디버깅하려는 모든 어셈블리에 대해이 작업을 수행해야합니다.
Igor Quirino 2015

0

질문에 대한 주석으로 Patrick링크를 본 후 누군가가 IIS Express 에서 사이트를 중지하는 해결 방법을 언급했습니다 . Visual Studio에서 디버거를 중지 한 후에 바로 이와 동일한 문제가 발생하는 것을 방지 할 수있었습니다.

그러나 나는 그것을 더 조사하고 있었고 디버거의 '편집 및 계속'설정과 관련이있을 수도 있다고 생각합니다. Visual Studio의 도구옵션 ... 메뉴에서 비활성화했을 때 더 이상 문제가 없었습니다. 그러나 그러면 편집하고 계속하기 기능을 사용할 수 없으므로 그만한 가치가 있는지 확실하지 않습니다.

메뉴 도구옵션디버거편집 및 계속 (일반 목록의 맨 아래로 스크롤) → 편집 및 계속 확인란을 선택 취소합니다 .

업데이트 1을 설치 한 후 갑자기이 문제를 경험했지만 처음에이 설정을 해제했을 수도 있습니다 ... 확실하지 않습니다.


0

더 이상 지연없이 계속 진행해야하는 경우 팝업에서 마지막 옵션을 선택하면 모두 이전과 동일하게 실행됩니다.

여기에 이미지 설명 입력


JPEG 이미지는 스크린 샷을위한 최선의 선택이 아닙니다. (선명한) PNG 버전 (또는 GIF)으로 바꿀 수 있습니까?
Peter Mortensen

0

이것은 이상한 경고였습니다.

솔루션을 다시 빌드해도 모든 DLL 파일 (특히 종속 프로젝트에서 복사 된 파일)이 반드시 지워지는 것은 아닙니다.

그러나 종속성 프로젝트를 다시 빌드하면이 경고가 사라졌습니다.

Visual Studio 2015 업데이트 3에서이 문제에 직면했습니다.


0

내 솔루션은 다른 모든 솔루션과 약간 다르고 약간 독특합니다.

동일한 어셈블리를 참조하는 관리 코드와 ASP Classic 이 혼합 된 웹 사이트를 사용하고 있습니다 . Visual Studio는 내 관리 DLL 파일이 릴리스 빌드라고 불평했습니다.

이 문제는 내 어셈블리에서 포착되지 않은 예외 였지만 interop을 통해 ASP 클래식 페이지에서 발생했습니다. Visual Studio에서 디버깅을 처리 할 수 ​​없었고 오류 메시지가 표시되었습니다. 관리 코드에서 발생한 동일한 예외로 인해 예상대로 디버거가 발생했을 것입니다.

내 관리되는 어셈블리 생성자의 문제를 수정하면 모든 것이 수정되었습니다.

큰 그림을 돌아 보면 모든 것이 이치에 맞습니다.하지만 당시에는 오류 메시지가 저를 매우 깊은 길로 이끌었고 "아하!" 순간.


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