Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

UWP(유니버설 윈도우 플랫폼) 앱에서 global::System.Diagnostics.Debugger.Break 예외 발생 시 대응 방법

경력자들에게는 당연한 것이, 처음 개발하는 분들에게는 완전 새로운 문제일 수 있음을 다음의 질문을 통해서 느끼게 되었습니다. ^^

유니버셜앱 예외 발생: 'System.UnauthorizedAccessException' 해결방법
; https://social.msdn.microsoft.com/Forums/ko-KR/8b403c9c-0023-4c38-a695-829eb22309aa/-systemunauthorizedaccessexception-?forum=visualcsharpko

유니버셜 앱으로 서버를 생성 하였는데요. 여기서 request로 들어간 정보를 어떻게 화면에 출력 해야 할지 모르겠습니다. 
; https://social.msdn.microsoft.com/Forums/ko-KR/2f41a641-1af0-4b64-b844-05f049fb4f81/-request-?forum=visualcsharpko

현재 UWP 앱을 개발하면서 예외가 발생하면 보통 다음과 같이 App.g.i.cs 파일의 Debugger.Break를 가리키게 됩니다.

first_change_in_uwp_1.png

App.UnhandledException 이벤트가 걸린 것인데, 원인은 간단합니다. 프로그램 실행 시 어디선가 예외가 발생했고 그곳의 코드는 개발자에 의해 try/catch가 씌워지지 않았기 때문에 원래는 프로그램 종료가 되어야 하지만 현재 Debugger가 붙어 있는 상태이므로 (global::System.Diagnostics.Debugger.IsAttached) 친절한 비주얼 스튜디오는 예외가 발생했음을 개발자에게 알려주었던 것입니다.

문제는? 도대체 어떤 문제로 인해 들어왔는지 알 수가 없다는 것이죠. ^^

걱정하지 마십시오. 금방 찾아낼 수 있습니다. 위와 같이 디버거가 멈췄을 때 "Output" 창을 보면 구체적으로 어떤 예외로 인해 프로그램이 종료할 뻔 했는지를 알려주는 것을 볼 수 있습니다.

first_change_in_uwp_2.png

위의 화면에서는 System.UnauthorizedAccessException 예외인데요. 이제 "Debug" / "Windows" / "Exception Settings" (단축키: Ctrl+Alt+E) 메뉴를 선택하고 "Search" 패널에 System.UnauthorizedAccessException 문자열을 입력한 후 나타나는 하단의 예외 항목을 체크해주시면 됩니다.

first_change_in_uwp_3.png

이렇게 설정하고 다시 실행하여 예외를 재현하면 다음과 같은 식으로 문제가 발생했던 바로 그 라인에서 디버거가 멈추게 됩니다.

first_change_in_uwp_4.png

에러 메시지에 나오듯이,

Exception thrown: 'System.UnauthorizedAccessException' in App1.exe

WinRT information: At least one of either InternetClientServer or PrivateNetworkClientServer capabilities is required to listen for or receive traffic

Additional information: Access is denied.



At least one of either InternetClientServer or PrivateNetworkClientServer capabilities is required to listen for or receive traffic

If there is a handler for this exception, the program may be safely continued.

권한 설정이 부족하다는 것을 알 수 있고 이에 대처해 문제를 해결해 주시면 됩니다.




아니... 그럴 거면 미리 그 설정을 비주얼 스튜디오에서 기본값으로 했으면 더 좋았지 않았겠습니까? 라고 묻는 분들도 계실 텐데요. 이게 참 그렇습니다. 왜냐하면 의도적으로 발생하는 예외도 있고 그것을 개발자가 try/catch로 잡는 경우도 있는데 그 때마다 저렇게 실행이 멈추는 것이 좋지는 않기 때문에 기본값이 그렇게 안되어 있는 것입니다.

보다 자세한 내용은 다음의 글을 참고하시면 됩니다. ^^

First-Chance Exception
; https://www.sysnet.pe.kr/2/0/510




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 12/10/2015]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 181  182  [183]  184  185  186  187  188  189  190  191  192  193  194  195  ...
NoWriterDateCnt.TitleFile(s)
443정성태1/26/200722605VC++: 27. COM 개체로 인해 IE 7 비스타 버전이 종료될 때 오류 화면이 뜬다면?파일 다운로드1
442정성태1/24/200725636.NET Framework: 79. 새로운 암호화 클래스 (ECDsaCng, ECDiffieHellmanCng) 소개 [1]
441정성태1/23/200730480Windows: 17. 보안 데스크톱에서 활성화되지 않은 UAC 창이 안전할까?
440정성태1/24/200724583.NET Framework: 78. C# 3.0 - Anonymous types [1]
439정성태1/25/200725643.NET Framework: 77. C# 3.0 - Lambda 표현식 [1]
438정성태1/24/200724758.NET Framework: 76. C# 3.0 - 확장 함수
437정성태1/23/200732414Windows: 16. 개발자를 위한 UAC 환경 설정 [3]
436정성태1/17/200721648VS.NET IDE: 42. Orcas 2007년 1월 CTP 버전 설치 [5]
435정성태1/14/200721114기타: 17. 베타 제품과 최종 제품은 다르다 [2]
434정성태2/4/200724875Windows: 15. MIC 환경 구성 - Windows XP와 유사한 보안 설정 [4]
433정성태1/12/200734297Windows: 14. 보호 모드와 필수 무결성 제어(MIC: Mandatory Integrity Control) [3]파일 다운로드1
432정성태1/10/200725475Windows: 13. InitOnceExecuteOnce API 소개 [5]
431정성태1/8/200722976Windows: 12. 비스타는 안전한 윈도우인가? [2]
430정성태1/7/200729075웹: 6. IIS 7 마이그레이션 정리 - Sysnet
427정성태12/30/200619554Team Foundation Server: 14. VS.NET IDE에 통합된 TFS Annotate [1]
425정성태12/29/200623496Windows: 11. Vista IIS 7(Integrated mode)에서의 ASP.NET F5 디버깅 방법
424정성태12/29/200621674기타: 16. 첫걸음 [2]
426정성태12/30/200620250    답변글 기타: 16.1. 예외 발생
420정성태12/27/200625060Windows: 10. Internet Explorer 7.0 호환성 백서 (Word 문서, 1.92MB) [7]파일 다운로드1
419정성태12/25/200626629Windows: 9. VS.NET 2005 원격 디버깅 구성
418정성태12/25/200634722웹: 5. IIS 7에서 클라이언트 측 인증서 사용 시 주의점 [2]
417정성태12/24/200627146Windows: 8. VS.NET 2005에서의 웹 애플리케이션 디버깅 설정
416정성태1/31/200727279오류 유형: 23. MSI 설치 시 로그 파일 생성하는 레지스트리 설정 [3]
415정성태12/31/200630992개발 환경 구성: 20. 인증서 오류 체크 목록
413정성태12/20/200627831VC++: 26. volatile 키워드 [1]파일 다운로드1
412정성태12/17/200631807오류 유형: 22. VS.NET 2005 SP1 설치 도중 오류 [9]
... 181  182  [183]  184  185  186  187  188  189  190  191  192  193  194  195  ...