Microsoft MVP성태의 닷넷 이야기
닷넷 에러시 조치사항관련... [링크 복사], [링크+제목 복사]
조회: 17146
글쓴 사람
김기룡
홈페이지
첨부 파일
 

안녕하세요.
질문을 계속 드리네요^^

VS 2008에서 C#으로 프로그램을 작성 했으며, 빌드시 하위 호환성은 .NET 2.0으로 되어있습니다.
배포는 VS자체 기능이 아닌 InstallShield로 배포파일을 만들었는데,
개발한 프로그램이 정상 적으로 동작하는 사용자가 있는 반면
가끔 정상적으로 실행되지 않는 사용자의 경우 다양한 오류 현상들이 접수되고 있습니다.

C#으로 개발된 어플은 .Net Framework 위에서 동작하는데
.Net Framework은 OS와도 밀접한 관계가있어서 단순히 개발된 프로그램의 문제라고 보기에도 어렵고
사용자들의 이상 현상을 어떤 식으로 접근해야 할지도 막막합니다.

예를들어,
어떤 사용자는 제가 개발한 프로그램을 설치한 시점에서는 정상적으로 사용되는데
리부팅을 하면 부팅시에 항상 에러 코드번호 없이 .NET 오류 메시지가 발생하는 사용자가 있으며,

어떤 사용자는 H/W 성능이 좋음에도 제가 개발한 프로그램을 사용하면
컴퓨터가 Hang이 걸릴 정도로 느리다는 사용자도 있습니다.

원격으로 사용자의 환경을 살펴서 원인을 파악하라고 하는데
어떤 정보들을 수집해서 살펴봐야 할지도 막막하더군요.


어떤 사용자는 시스템이 크레쉬 되었다면서 단순히 아래와 같은 텍스트 내용을 보내줬습니다.
파일 경로명에 "WER"이 보여서 인터넷을 찾아보니 윈도우즈 에러 레포팅 기능 같은데
이와 관련된 한글 자료를 찾기 어렵고 해당 정보를 어떤식으로 이용할 지도 애매하군요.

1601212626
   5
   CLR20r3
   Not available
   0
   test.exe
   1.0.1.75
   4d196e89
   System
   2.0.0.0
   4a275e12
   3a97
   394
   System.ComponentModel.Win32
    
   C:\Users\Tester\AppData\Local\Temp\WER2977.tmp.WERInternalMetadata.xml
   C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_test.exe_7648e28e3b956cff242acbe66e450155946e8cc_19455576
    
   0
   73c3a3fd-1510-11e0-aca8-c80aa9fc763b
   0"


위 에러와 관련하여 도움을 부탁드리며 혹시 닷넷과 관련된
응용 프로그램들의 에러들은 어떤 식으로 접근해야 하는지 조언을 구합니다.

또한, C#으로 개발된 윈폼 프로그램의 다양한 환경을 분석하기위한
툴들로는 어떤게 있는지 조언 부탁드려봅니다.








[최초 등록일: ]
[최종 수정일: 1/3/2011]


비밀번호

댓글 작성자
 



2011-01-04 12시05분
제 경우에는 딱히 다양한 환경 분석을 위한 툴을 사용하는 것은 없습니다. 단지 소스 서버와 심볼 서버 구성 및 예외 발생시 스택 오류 로그 기록, 내부적으로 진단용으로 설정할 수 있는 사용자 정의 변수값들을 마련한 정도입니다. 그 이외의 crash 같은 것들은 덤프가 가장 확실한 해결책이겠지요. 덤프는 뜨게 되면 Microsoft 측에도 기술지원을 받을 때 유용하게 사용할 수 있습니다. 때로는, 사용자로부터 대강의 시스템 설정을 받아서 직접 가상 PC를 구현하여 문제 재현을 하기도 합니다.

말씀하신 것처럼, 원격으로 연결할 수 있는 상황이라면 사용자의 양해를 구해서 Debugger for Windows 도구를 설치해서 덤프를 뜨는 것도 고려할 수 있을 것입니다. hang 이 걸리는 경우 덤프를 뜨면 대강의 위치를 파악할 수 있고, 그 코드만 집어낼 수 있다면 문제 해결을 위한 정보는 거의 수집된 것이나 다름없을테니까요.

경험으로 볼 때, CLR20r3 와 관련된 예외의 경우에는 일정 수준 이하의 서비스 팩이 설치된 경우에 최신 버전에서는 지원되는 메서드가 누락된 상황이 대부분이었습니다. (즉, 클라이언트 환경의 닷넷 세부 버전도 알아두는 것이 좋겠군요.)

WER은 저도 현재의 제니퍼 APM 도구에 적용해 보고 싶었는데, 아쉽게도 해당 웹 응용 프로그램의 문제까지도 전부 보고되는 부작용이 있어서 포기했었습니다. 하지만, 김기룡님의 경우에는 유용하게 쓸 수있는 팁이 아닐까 싶은데요. 현재 WER 관련해서 체계가 변한 걸로 알고 있습니다. 대개의 디버깅 서적에서 설명하고 있는 것들이 예전 기준으로 되어 있어서 아마 현재는 마이크로소프트 사이트에서 직접 정보를 얻어야 할 것입니다.

개인적으로도, 다양한 PC에서 설치되는 클라이언트 프로그램에 대한 문제 진단은 쉽지 않습니다. 배포하는 응용 프로그램이나 회사에서 개발되는 프로그램의 문제 진단을 가장 잘 할 수 있는 범위를 정하고 그에 맞게 적절하게 맞춰가는 것이 중요하겠군요.

정성태
2011-01-04 02시51분
[김기룡] 항상 친절하고 빠른 답변 감사드립니다.
향후를 위해 로그파일에 스택 오류도 함께 기록해 봐야겠습니다.*^^*

프로그램이 XP사용자를 타겟으로 만들어져서 .Net 2.0 SP2이상이면
문제가 없을 텐데 CLR20r3 오류가 발생한 사용자가 슬프게도
XP 사용자가 아닌 Win7 64Bit Home버전을 막 설치한 사용자인것 같더군요.

사용자가 구 버전의 .NET을 사용해서 발생하는 문제라면
Win 7이면 OS 자체에서 상위 버전의 .NET이 기본적으로 설치되어 있는데다
기본으로 설치된 버전의 .NET 제거도 안되기 때문에
Win7이나 Vista이상의 OS에서는 문제가 없을거라 생각했었는데 고민이군요.
혹시나 해서 Win7 32/64Bit에서도 여러번 테스트했지만 문제가 있거나 설치가 안된 경우는 처음이거든요.^^

외국에 계시는 분이라 아직은 원격 정보나 세부적인 자료를 수집하지는 못 했습니다.
조언대로 닷넷 세부 버전 부터 덤프 파일등을 수집해야 할 것 같은데
Debugger for Windows와 WER을 사용해 본 적이 없어서 검색 사이트에서 대충 해당 단어들로 검색하고 있습니다.^^;;

영문이어도 상관 없는데 혹시 추천할 만한 Link 자료를 구할 수 있을까요?
감사합니다.
[guest]

... 46  47  48  49  50  [51]  52  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
1552spow...4/18/201518821마이크로세컨드 단위의 Sleep이 필요한데 찾질 못하겠습니다. [5]
1553spow...4/18/201512123    답변글 [답변]: 마이크로세컨드 단위의 Sleep이 필요한데 찾질 못하겠습니다. [1]
1551인디언기...4/16/201511520iisnode에 대해서 글 올리셨던데 질문이 있습니다 [1]
1549김선아4/15/201511964.net framework 4.5와 c++ dll에 관한 질문입니다 [1]
1550김선아4/15/201510379    답변글 [답변]: .net framework 4.5와 c++ dll에 관한 질문입니다 [2]
1547문명식4/3/201512417IWebBrowser Key Event 관련 [2]
1545나종식3/25/201511396internet explorer dns cache flush [2]
1543이용원3/23/201511369hyper-v 질문드려요! [1]
1544이용원3/24/201510499    답변글 한가지만 더 여쭤볼게요! [1]
1541임기성3/20/201517706Microsoft.Office.Core dll관련 문제 [1]
1539펜플3/17/201511068asp.net 질문입니다. [1]
1540113/17/201511053    답변글 [답변]: asp.net 질문입니다. [1]
1538열공합시닷3/13/201511863중계서버 질문드립니다 [1]
1537김재영3/11/201512891asp.net의 빌드 유휴시간 이후의 리빌드 작업을 컨트롤 할 수 있습니까? [2]
1536솔솔3/9/201511352mac address얻으려고 하는데요.. [1]
1535Stud...3/4/201511899C#엔 MFC의 theApp 과 같은 기능을 하는것이 없나요? [3]
1534김동진3/4/201511330C#에서 BHO로 Windows Explorer에서의 동작이 가능할지요 [2]
1533김동현3/3/201511596컴파일 된 프로그램에 코드 삽입(?) 관련입니다. [1]
1532반가워요3/3/201514177C# 소켓연결에 packet송수신... [8]
1531강현수3/2/201512826C# com 등록 시 GUID 변경 관련 문의 [1]
1529김민규2/15/201512740C++ 64bit/32bit [3]파일 다운로드1
1528김개똥2/14/201510224좀 관련없는 질문이지만, 정말 답답하고 찾는데 명확한 해답 찾지못해 질문 올립니다. <Windows 사용자 인증> [1]
1527방문자1/27/201511247System Timer의 Tick에서 Backgroundworker를 호출하면 스레드 문제가 있을까요? [1]
1526황상대1/26/201513087C# 마샬링 관련 질문이 있습니다. [1]
1525Ji-y...1/19/201511693시작하세요 C# 프로그래밍 도서에 관한 질문입니다. [1]
1523임종복12/31/201419078windows 2008 r2에서 ms-sql 2008 서버사용시 tls문제점 [3]
... 46  47  48  49  50  [51]  52  53  54  55  56  57  58  59  60  ...