2014-09-23 5 views
2

실패한 WinRT 비동기 메서드 호출을 디버깅하고 있습니다. 문제가 발생한 위치를 어떻게 찾을 수 있습니까? 나는 이것이 오류가 최초로보고 된 곳을 추적함으로써 이루어질 수 있다고 생각한다. 모든 단서? 나는 깊이 나는 오류가 fristly 읽어 어디 찾은 것 같아요 디버깅 후WinRT 비동기 메서드 호출에서 오류가 발생하는 위치를 찾는 방법은 무엇입니까?

IDA 프로 & VS 2013를 사용하고 있습니다 -의 ntdll "NtGetCompleteWnfStateSubscription"undocomented 기능에 의해 (당신이 그것에 대해 자세한 내용은 링크 된 질문을 확인할 수 있습니다). 그러나 나는 그것을 설정하는 기능을 찾을 수 없습니다. 또한 커널 자체 인 것처럼 "NtGetCompleteWnfStateSubscription"함수 자체를 디버깅 할 수 없습니다.

더 일반적인 질문입니다. 이것의 출처는 one입니다.

+0

'RoOriginateError'에 중단 점을 설정하십시오. Inproc 구성 요소는 일반적으로 오류가 생성 된 지점에서이 함수를 호출합니다. –

+0

조언 해 주셔서 감사합니다. 이 함수에 중단 점을 설정했지만 "NtGetCompleteWnfStateSubscription"이 실제로 오류를 쿼리 한 것처럼 보이는 함수라고하는 것 같습니다. – AnArrayOfFunctions

+0

그래서 실제로받은 오류를보고하지만 WinRT 메서드에서 상태를 나타내지 않은 것 같습니다. – AnArrayOfFunctions

답변

0

나는 보통 내가 create_task()를 사용하여 작업에 비동기 호출을 래핑하고 .then() 람다에 무슨 - try-catch 블록에 task.get()를 호출합니다. 그것은 저에게 예외를줍니다.