2

관리되는 코드를 작성 중이며 관리되지 않는 라이브러리 (Qt)에 대해 관리되는 바인딩 (qt4dotnet)을 사용하고 있습니다. 이제 Qt 어딘가에서 오는 AccessViolationException이 발생하지만 디버깅하는 방법을 모르겠습니다. 관리되는/관리되지 않는 경계 (Qt의 어떤 부분이 나에게 충돌했는지 알지 못한다는 의미) 이상의 스택 트레이스를 얻지 못합니다.네이티브 코드에서 오는 AccessViolationException을 디버깅하는 방법

그건 그렇고, 내 애플 리케이션을 VS 디버거 안에 실행 해요.

예외를 어떻게 디버깅합니까?

답변

1

네이티브 코드를 호출하는 함수에 지정된 매개 변수를 검사해야만합니다.

+0

젠장, 네이티브 코드를 호출하는 함수는 QApplication.exec()입니다. 매개 변수를 취하지 않고 * 아무것도 * 일어날 수 있습니다. 관리되지 않는 코드에 백 트레이스가 표시되지 않는 기술적 인 이유가 있습니까? 아니면 VS에서 누락 된 기능입니까? –

8

Project + 속성, 디버그 탭에서 "관리되지 않는 코드 디버깅 사용"을 선택하십시오. 여전히 쉽지는 않지만 적어도 폭탄이 떨어지면 관리되지 않는 스택 프레임을 볼 수 있습니다. Qt 코드 용 .pdb 파일이 있는지 확인하십시오.