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

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

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]

... 31  [32]  33  34  35  36  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
5068누오10/10/20187652ASP Core 2.0 에서 dll안에 있는 뷰 읽어들이는 방법? [1]
5067김정민10/5/20187632다른 윈도우가 깨지는 현상을 막을 수 있을까요 [3]
5066로니브10/4/20188426ASP.NET MVC에서 View 파일 숨기는법? 보안처리 하는법? 관련 질문.. [1]
5065키모10/1/20189671문자 질문입니다. [3]
5064로니브10/1/20188946클래스 라이브러리에서 .cshtml파일을 추가하는 방법은 없나요? [3]
5063진우9/28/20187965ADO.net 과 Entity Framework 차이 문의 [2]
5062테스트9/27/20188570C# import file 의 구조체 배열 선언 및 호출에 대해 문의. [3]
5061안녕하세요9/13/20188489c# 프로그래밍 관련 문의 [1]
5060임민재9/8/20187980c# install 파일 생성 시 문제가 발생하였습니다 [1]파일 다운로드1
50599/7/20187668Winform TextBox 포커스 유지하는 방법 질문 [파일첨부] [1]파일 다운로드1
50589/5/201811065Winform TextBox 포커스 유지하는 방법 질문 [3]
5056박종윤8/30/201810491c# dll을 C++에서 사용 시 event 호출 [4]파일 다운로드1
5055초보자8/29/20189015asp.net 에서 다른 서버의 iis를 stop하는 batch file을 실행시키는데 동작하지 않습니다. [5]
5054사도신8/29/20187733[wpf] textbox insert overite 모드시에 [4]파일 다운로드1
5053엿장수8/26/20187107directshow filter 에서의 IMediaSample 의 시간에대한질문입니다 [1]
5052오명현8/26/20187992Tcp소켓 실습 Exeption 도와주세요! [4]파일 다운로드1
5049오명현8/23/20187358책 477페이지 내용 중 이해가 안가는 부분이 있어 질문드립니다. [1]
5048오명현8/23/20187057포트 관련 질문 하나더 있습니다. [1]
5047오명현8/22/20187720포트가 없을 경우를 가정한 내용에 대해 질문이 있습니다. 책468p. [1]
5046엿장수8/22/20187608다이렉트쇼 필터 추가하는데 [2]
5045임도진8/22/20188336c# opencv dll파일 로드 질문 [3]파일 다운로드1
5044엿장수8/20/20188036graphedit 에 등록되어있는 필터를 가져와서 사용하는방법을 알고싶습니다 [2]
5043hori...8/20/20187653Expression에 대한 책의 예제 관련하여 질문드립니다. [1]
5042황윤하8/20/20189340모드버스 TCP 관련 질문 [3]
5041david8/18/20189045.NET WebAPI 에서 Response 지연되는 이유 [3]
5040농상8/14/20188481정규표현식에 대해서 [3]
... 31  [32]  33  34  35  36  37  38  39  40  41  42  43  44  45  ...