programing

VS 2008 중단점은 현재 적중되지 않습니다.이 문서에 대해 로드된 기호가 없습니다.

randomtip 2023. 5. 21. 17:23
반응형

VS 2008 중단점은 현재 적중되지 않습니다.이 문서에 대해 로드된 기호가 없습니다.

저는 이 장애물을 극복하기 위해 고군분투하고 있으며 SO의 누군가가 도울 수 있기를 기대합니다.

여기에 이미지 설명 입력

우리 반 도서관 프로젝트에서 중단점을 설정했을 때.일반 중단점으로 나타납니다.솔루션 디버깅을 시작하면 중단점이 비어 있고 내부에 느낌표가 있는 노란색 삼각형이 있습니다.중단점을 이동할 때 표시되는 도구 설명은 "현재 중단점이 표시되지 않습니다.문서에 대한 기호가 로드되지 않았습니다."

이 프로젝트는 ASP.NET 응용 프로그램이 아니라 단순히 winForms 응용 프로그램입니다.

솔루션에 여러 프로젝트가 포함된 기존 winForms 애플리케이션을 인계받았습니다.프로젝트를 빌드하여 디버그 모드로 실행하고 있습니다.일부 프로젝트의 중단점에서 멈출 수 있지만 다른 프로젝트, 특히 유형 클래스 라이브러리의 중단점에 도달할 수 없습니다.

지금까지 제가 한 일은:

  • 디버그 및 릴리스 폴더를 모두 삭제했습니다.
  • 저는 obj 폴더를 삭제하고 솔루션을 재구축했습니다.
  • VS2008 IDE를 다시 시작했습니다.
  • 컴퓨터를 다시 시작했습니다.
  • 클래스 프로젝트가 디버그 빌드에 포함되어 있는지 확인하기 위해 구성 관리자에서 솔루션을 확인했습니다.
  • dll을 참조하려는 것은 아니지만 dll에 대한 debug/modules를 확인했습니다.

또한 SO 게시물에 요약된 문제 해결 단계를 수행했습니다.

중단점은 현재 적중되지 않습니다. 기호가 로드되지 않았습니다.

VS 2010, NUNit 및 "현재 중단점은 타격을 받지 않습니다.이 문서에 대해 로드된 기호가 없습니다."

중단점은 현재 적중되지 않습니다.이 문서에 대해 로드된 기호가 없습니다.

디버깅할 수 없음 - "현재 중단점이 적용되지 않습니다.이 문서에 대해 로드된 기호가 없습니다."

수정 "현재 중단점이 적용되지 않습니다.이 문서에 대한 기호가 로드되지 않았습니다."

게다가, 저는 MSDN과 다른 곳에서 구글에서 발견된 수많은 게시물을 읽었는데, 그 중 어느 것도 제 특정한 필요에 맞지 않습니다.

이러한 게시물 중 일부는 다음과 같습니다.

Visual Studio 2008 "현재 중단점은 적용되지 않습니다.이 문서에 대해 로드된 기호가 없습니다."

중단점은 현재 적중되지 않습니다.이 문서에 대해 로드된 기호가 없습니다.

현재 중단점이 적중되지 않습니다.이 문서에 대해 로드된 기호가 없습니다.

디버거 문제 "현재 중단점이 표시되지 않습니다.이 문서에 대해 로드된 기호가 없습니다.

현재 중단점이 표시되지 않습니다.이 문서에 대한 기호를 로드하지 않았습니다.

제가 읽은 모든 게시물은 매우 유익했지만, 제안된 해결책 중 어떤 것도 저의 구체적인 요구에 부합하지 않았습니다.더 많은 정보가 필요한지 알려주시기 바랍니다.작동하지 않은 것에 대한 참조로 제공할 수 있는 링크가 더 있습니다.또한 이 문제를 해결하기 위해 추가적인 조치를 취했습니다.

저는 모든 사람들을 기쁘게 하기 위해 이 후속 조치를 게시합니다.저는 @Hans@ 제안에 따라 해당 프로젝트 파일을 호출했습니다.

폼 = 새 프로젝트로 희미한 frm을 배치했습니다.문제의.문제의 양식

그리고.

이제 디버그에 어셈블리가 로드됩니다.--> Windows-> 모듈

그 새로운 문제는 나의 원래 문제보다 더 복잡합니다.중단점은 괜찮아 보이지만 건너뜁니다.중단점에 명백한 오류가 없습니다.

여기에 이미지 설명 입력

이것은 오래된 질문일 수도 있지만, 이 주제와 관련하여 가장 완벽한 질문 중 하나였기 때문에 바로 이 문제에 대한 해결책을 찾은 후에 대답하고 싶었습니다.

도입부

제 프로젝트는 ASP.NET 응용 프로그램이지만 WinForms에서도 기본 문제가 발생할 것입니다.이 문제는 어셈블리 출력에서 DLL이 누락된 경우에 발생합니다.그러나 참조 중인 DLL이 어셈블리에 없는 다른 DLL을 참조하는 경우에도 동일한 예외가 발생합니다.운영 체제가 DLL을 로드하는 방식 때문에 참조된 DLL은 출력 어셈블리가 아닌 환경 경로에 있어야 합니다.

프로젝트 A는 DLL D를 참조합니다. DLL D는 DLL X를 참조합니다. DLL D는 출력 어셈블리에 있을 수 있습니다. DLL X는 환경 경로에 있어야 합니다.

이 문제의 핵심 원인은 운영 체제가 >runtime에 기본 DLL을 로드하는 방식에 있습니다.기본 DLL은 >Temporary ASP.net Files 또는 applications /bin 폴더를 포함하지 않는 다음 논리를 사용하여 로드됩니다.이 문제는 >any에서도 발생합니다.Native DLL이 .EXE > 파일이 있는 /bin 폴더에 포함되지 않거나 DLL이 Path Environment 변수에 포함되지 않은 경우 Net 응용 프로그램.

개인 솔루션

저는 DivaAPIWrapper.dll(C#용 Managed DLL)이라는 DLL을 사용하고 있었습니다.하지만 DivaAPIWrapper.dll이 작동하려면 DivaAPI.dll(Unmanaged C++)이 필요하다는 것을 알고 있었습니다.모든 출력 경로에 DivaAPI.dll을 배치했지만 계속 이 오류가 발생했습니다.DivaAPI.dll을 환경 경로(C:\windows\Microsoft)에 배치한 후에만 가능합니다.Net\Framework\v2.0.50727)가 작동했습니다.참고: 최신 버전의 .NET 프레임워크를 사용하는 경우 경로가 다를 수 있습니다!

제리 오먼의 완전한 해결책

링크 참조: http://blogs.msdn.com/b/jorman/archive/2007/08/31/loading-c-assemblies-in-asp-net.aspx

저도 같은 문제에 직면했고 인터넷에서 많은 해결책을 찾았지만 저에게 맞는 해결책은 아래와 같습니다.

프레임워크 버전 4.0에서 만든 애플리케이션 때문에 v2.0 이하 버전으로 프로세스를 첨부하려고 했으므로 아래와 같이 관리 코드 버전으로 프레임워크 버전을 확인하십시오.

여기에 이미지 설명 입력

최근 실행 중인 프로세스에 첨부할 때 이런 일이 발생했습니다.문제는 디버깅 옵션이 다음과 같이 설정되었다는 것입니다.

첨부 대상: 기본 코드

제 경우에는 다음과 같이 해야 했습니다.

첨부처: 관리 코드

내가 최근에 발견한 한 가지는 꽤 잘 작동했습니다!!!

호스팅 응용 프로그램(사용할 dll을 호출하는 응용 프로그램)에는 다음 행이 있어야 합니다.

<supportedRuntime version="v4.0"/>

의 "WhywhereApplicationIs.exe.config" <configuration>부분.

예: ("..."..."를 파일 내부에 있는 모든 항목으로 보고 그대로 둡니다.)

<configuration>
    ...
    <supportedRuntime version="v2.0.50727"/>
</configuration">

PS: 프로젝트 속성에 설정된 대상 프레임워크와 이 버전을 일치시킵니다.2.0.50727은 3.5 Framework에 적합하고 4.0은 4.0 Framework에 적합하다고 생각합니다.

저는 다른 애플리케이션에서 디버깅하려고 했던 두 개의 다른 DLL을 해결했습니다.

DLL이 로드될 때까지 중단점이 활성화되지 않는다고 말씀하신 것처럼 항상 이런 일이 발생합니다.코드가 그 지점에 도달하기 전에 DLL을 로드해야 하기 때문에 문제가 되지 않습니다.저의 브레이크 포인트는 이런 식으로 시작하지만 항상 맞아요.

이 프로젝트를 컴파일하려는 프로세서를 변경하지 않았는지 확인합니다.그랬었고, 다시 바꾸자 모든 것이 다시 작동했습니다.프로세서 변경으로 인해 '원래 것과 다름'

같은 프로젝트 그룹에 로드된 다른 프로젝트의 dll을 호출한 Vb.net 양식 애플리케이션에서 VS2008과 같은 문제가 발생했습니다.저는 다음과 같은 간단한 해결책을 찾았습니다.Dimpmg As New PMGEexport와 같은 form_load 이벤트에 인스턴스를 로드했습니다.PMG 수출 Neu.

도구 모음(실행 버튼 바로 옆)의 Solutions Configurator 모드가 "Release"가 아닌 "Debug"로 설정되어 있는지 확인하십시오.

이게 도움이 되길...

휴지통에 있는 DLL을 참조하고 있었습니다.디버그 모드에 있었지만 폴더를 해제합니다.

DLL을 bin\Debug 폴더에 복사했는데 VS를 실행했을 때 중단점이 발생했습니다.

2008년 Vs에서 도구로 이동 ->옵션 ->디버깅 ->일반 ->체크박스를 끄거나 '원래 버전과 정확히 일치하는 소스 파일 필요'를 사용하지 않도록 설정합니다.

2010과 비교하여 동일한 문제가 있으며, 흐름 단계에서 해결했습니다.

  1. 프로젝트 마우스 오른쪽 버튼 클릭
  2. 속성 선택
  3. c/c++ 선택 ->일반
  4. 디버그 정보 형식을 다음으로 설정합니다.program Database(/ZI)
  5. 링커->디버깅 디버그 생성 정보가 yes인지 확인합니다.

도구 모음(실행 버튼 바로 옆)의 Solutions Configurator 모드가 "Release"가 아닌 "Debug"로 설정되어 있는지 확인하십시오. methx에 대해 작업했습니다.

디버깅을 시작하기 전에 Visual Studio에서 이 선택되어 있는지 확인합니다.

Visual Studio의 버튼 근처에 있는 드롭다운을 확인합니다.

언급URL : https://stackoverflow.com/questions/5181401/vs-2008-breakpoint-will-not-currently-be-hit-no-symbols-have-been-loaded-for-th

반응형