2010-03-25 5 views
20

내가 연구하고있는 .NET 3.5 응용 프로그램은 다양한 솔루션으로 구성되어 있습니다. 이러한 솔루션 중 일부는 관리 코드 (C#)로 구성되고 다른 솔루션은 비 관리 코드 (C++)로 구성됩니다. C#으로 작성된 메소드는 C++로 작성된 메소드와 통신합니다. 이러한 다양한 함수들 사이의 의존성을 추적하려고하고 있으며 C++ 함수로 구성된 솔루션에 중단 점을 설정하는 것이 좋습니다. C# 솔루션 중 하나에는 시작 프로젝트가 있습니다. 디버그 모드에서이 솔루션을 실행할 때 내 관리되지 않는 코드의 중단 점이 발생하지만 실제로는 아무 일도 일어나지 않을 것으로 예상합니다. 누군가 Visual Studio IDE를 사용하여 이러한 혼합 된 응용 프로그램을 디버깅하는 과정을 안내해 줄 수 있습니까?관리 코드를 디버깅하는 동안 관리되지 않는 코드 디버깅

감사합니다.

답변

26

기본적으로 관리되는 프로젝트는 관리되는 디버깅을 사용하는 상태에서만 디버거를 시작합니다. 동일한 솔루션에 관리되지 않는 프로젝트가 있다고 간주하지 않습니다. 둘 다 디버깅하려면 비 관리 코드 디버깅을 명시 적으로 활성화해야합니다.

  • 오른쪽 관리 프로젝트 속성에
+0

감사합니다. 관리되지 않는 코드가 하나의 솔루션에 있고 코드가 다른 Visual Studio 솔루션에있는 경우에는 중단 점을 맞추기 위해 두 솔루션에서 디버거를 실행해야합니까? 나는 당신이 제안한 것을했지만 여전히 중단 점을 맞출 수는 없습니다. –

+0

C++ 클래스의 디버그 버전을 컴파일하고 있습니까? – iain

+5

@sc_ray : 프로세스에 연결하는 경우 : 'Attach to Process'상자에서'select'를 클릭하고 "Managed"및 "Native"상자를 모두 선택하십시오. –

3
  1. 이동 "관리되지 않는 코드 디버깅 사용"프로젝트 속성을 선택 디버그 탭
  2. 확인에
  3. 이동을 클릭합니다.
  4. 마우스 오른쪽 버튼을 클릭하고 디버그 탭으로 이동하십시오.
  5. 해당 섹션 아래에 디버거 사용 가능 섹션이 있습니다.
  6. 확인 "네이티브 코드 디버깅 사용"옵션

는 당신은 네이티브 코드를 디버깅 할 수 있습니다. 행운을 빕니다 !!!

붉은 색 사각형으로 강조 표시된 아래 첨부 된 이미지를 참조하십시오.

enter image description here

관련 문제