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

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

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)
3667김치사발면12/15/201510770템플릿 설정 추가 질문 [1]파일 다운로드1
3666노태현12/15/201510178사용자별로 권한을 주고 볼 수 있는 데이터를 제한하려면 어떤 방법으로 접근하는게 좋을까요? [2]
3665김치사발면12/14/201513275C# 템플릿 설정이 이상해요ㅜㅜ [3]파일 다운로드1
3664KuLu12/10/201510568멀정하던 사이트 중 일부메뉴가 응답없음이 되어버립니다. [3]
3663Sung...12/10/201511964UWP 서버 프로그래밍 작업 중 [5]
3662Sung...12/9/201511808uwp앱에서 접속한 클라이언트 주소값을 받아서 표시하고 싶은데 어떤 메소드를 써야 할까요? [7]
3661김무진12/9/201511156Oracle 환경에서 데이터를 조회할때 한글이 ? 이렇게 표시가됩니다. [1]
3660질문자12/7/201513079OpenFileDialog 호출시 hang걸리는 문제 [4]
3659Sung...12/4/201512708UWP 앱에서 textBox로 클라에서 받은 값을 나타내고 싶은데 안되고 있습니다. [5]
3658강준12/3/201511969Visual Studio (Xamarin) vs Eclipse [2]
3656DEVY...12/1/201510863MasterPageFile 사용시 다국어 처리 질문입니다. [1]
3653DEVY...11/26/201512324ds:Signature 질문입니다. [7]
3654윤용한11/27/201512064    답변글 [답변]: ds:Signature 질문입니다. [3]
3657윤용한12/1/201514356    답변글 [답변]: ds:Signature 질문입니다. [1]
3651노태현11/20/201545056MariaDB - ASP.NET오류의 원인조차 못 찾고 있습니다.. [2]파일 다운로드2
3652노태현11/20/201511934    답변글 [답변]: MariaDB - ASP.NET오류의 원인조차 못 찾고 있습니다.. [3]
3649kokon11/17/201512350예제 파일 실행이 안 되네요 [5]
3647Sang...11/15/201510850Part 3 목차? [5]
3646힘찬도약11/13/201515659c# mscorlib System.IO IOException [8]파일 다운로드2
3644힘찬도약11/11/201514805c# user.config파일 [2]
3645spow...11/13/201511807    답변글 [답변]: c# user.config파일 - Json.NET을 이용한 설정파일 처리 [1]파일 다운로드1
3643힘찬도약11/11/201513609C# 함수의 processing time과 재호출 [14]
3642.net11/10/201512294c# 으로 작성된 com+ 에 대한 문제입니다. [2]
3641힘참도약11/9/201512722c# log file 관련해서 질문드립니다. [5]
3638윤창선11/4/201513299사설IP가 부여된 무선라우터간 영상전송 관련 문의 [8]
3634Hyun...11/2/201510861c# 에서 webkit browser에서 webgl을 이용하는 사이트에 접속이 안됩니다. [1]
... 46  [47]  48  49  50  51  52  53  54  55  56  57  58  59  60  ...