문제

C#에서 프로그램을 시작한 후 관리되지 않은 C ++이라고합니다.

관리되지 않는 C ++에서 줄을 끊으면 '새 데이터 브레이크 포인트'메뉴 항목이 회색으로 표시됩니다.

어쨌든이 주위에 있습니까?

도움이 되었습니까?

해결책

혼합 모드 프로세스의 기본 부분에서 데이터 중단 점을 설정하려면 Jyoung에 의해 게시 된 답변.

Visual Studio는 순수한 기본 코드 이외의 것을 실행할 때 데이터 브레이크 포인트를 비활성화합니다. 보다 이것 VS 프로그램 관리자에서 왜 설명하는지에 대해 게시하십시오.

다른 팁

그래서 이것을하기 위해서는 다음과 같습니다.

  • 관리되지 않은 DLL을 시작 프로젝트로 설정하십시오
  • 관리되는 프로그램을 시작 명령으로 설정하십시오
  • 디버그 모드를 다음과 같이 설정하십시오 토종의
  • "Break Execution"또는 "Debugging"상태에 있도록 중단 점을 누르십시오.

제안 된 솔루션은 항상 작동하지 않습니다. 기본 모드로 디버깅을 할 때에도 프로그램이 기본 코드로 고장난 상태에서 '새로운 데이터 브레이크 포인트'를 설정하려고 할 때 팝업을 얻습니다. "중단 점을 설정할 수 없습니다. 데이터 중단 점은 공통 언어 런타임에서 지원되지 않습니다."

대안은 코드에서 직접 데이터 브레이크 포인트를 추가하는 것입니다. 기사를 참조하십시오 여기.

이것은 혼합 모드에서 잘 작동하므로 기본 디버깅 모드 만 활성화되면 (위의 제안대로)

어디에서나 작동하는 매우 유용한 트릭은 특수 조건에서 코드에서 중단 점을 호출하는 것입니다.

If (Condition)
    System.Diagnostics.Debugger.Break()
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top