2013-10-01 1 views
0

해당 앱은 기본 코드와 관리 코드를 모두 사용합니다. 관리 코드는 UI 계층만을 제공하는 반면 대량의 작업을 수행하는 원시 DLL과 연결됩니다. 네이티브 dll은 다른 정적 dll과 연결됩니다. 이제 문제는 내가 비 결정적으로 충돌하는 앱을 실행할 때입니다. 관리 코드 디버깅하에 앱을 디버깅 할 때 기본 코드의 특정 함수가 "SEH"예외를 발생 시켰습니다. 스택 트레이스는 현재 함수를 보여줍니다. SEH Exception에서 얻는 에러 코드는 EFAIL입니다. 그러나 기본 디버거에서 매번 응용 프로그램이 잘 실행됩니다. SEH 예외를 throw하는 함수는 단일 스레드입니다. 다른 스레드에서 액세스 할 수있는 리소스는 사용하지 않습니다. 이 문제의 가능한 원인은 무엇입니까? 네이티브 코드에서 예외의 출처를 검색하려면 어떻게해야합니까? 앱이 디버거에서 실행 중일 때 문제가 나타나지 않으므로 디버거에서 스테핑 기능을 사용할 수 없습니다.WP 8 앱이 기본 모드 디버깅 (출시 모드)에서 정상적으로 실행되지만 디버거가 없으면 충돌합니다.

Visual Studio 2012를 사용하고 있습니다.

답변

0

DirectX를 사용하고 있습니까? SEH DeviceContext가 스레드로부터 안전하지 않기 때문에 많은 스레드에서 DeviceContext가 동시에 사용 중일 때 예외가 발생합니다. 동시에 발생합니다.