게시판 본문 COM / COM+ by VB 6.0 - Read Only

re: internet server error: object/module net found
작성자: 송원석
작성일시: 2003-11-01 19:34,  조회수: 3,206
안녕하세요? 송원석입니다. ^_^

COM 이나 COM+ 컴포넌트를 사용하여 ASP 프로그램을 개선하거나 기능을 추가시키고자 할 때 처음에 가장 힘든 부분이 바로 지금과 같은 디버깅 부분이죠. 어느정도 요령이 생기기 전까지는 도무지 에러가 어느 부분에서 생기는 것인지 구분하기가 애메하기 짝이 없으니까요. ^_^

제가 코드를 직접 보고 말씀드리는 것이 아니므로 정확한 요점을 짚어드리기에는 조금 무리가 있습니다. 소스에 대해서 조언을 해달고 말씀하셨지만 소스를 보내주신 것도 아니고 해당 에러가 발생하는 라인의 코드를 글에 써주신 것도 아닌데, 에러 메세지 하나만 가지고서는 저도 어디가 문제인지 알아내기가 쉽지가 않습니다.

컴포넌트를 만드실 때 VB 를 사용하셨는지 VC++ 을 사용하셨는지도 모르고 트렌젝션 처리는 어떻게 하셨는지, 외부 모듈은 뭐라도 쓰시는 게 있는지 없는지 등등도 모르는 채로 아무렇게나 답변해드리는 것은 그것이 오히려 더 불성실한 자세라고 생각합니다. 코드를 직접 보면서 문제점을 찾으려고 해도 어려운데 제가 부채도사가 아닌 이상은 무리입니다. ^_^;;; 다만 일반적인 상황에서 볼 때 대략 다음과 같은 부분들을 주의해서 살펴보시기 바랍니다.

ASP 에서 컴포넌트를 디버깅 할 때는 에러가 ASP 단에서 발생하는 것인지 컴포넌트 자체에서 발생하는 것인지를 먼저 구분해야 합니다. 지금 말씀하신 것과 같은 경우라면 아마도 ASP 단이나 IIS 설정에서 발생했을 가능성이 높을 것 같습니다. 그렇다고는 하더라도 먼저 이 점을 확실하게 짚고 넘어가는 것이 좋습니다.

먼저 작성하신 컴포넌트를 ASP 에서 테스트하시지 마시고 VB 나 VC++ 등 컴포넌트를 제작한 개발도구 상에서 테스트를 해보시기 바랍니다. 물론 거창하게 테스트 프로그램을 만들 필요는 없지요. 그냥 간단간단하게 만드시면 됩니다. ^_^

이 경우 장점은 디버깅이 무지하게 쉽다는 것입니다. 물론 ASP 환경과 비교하면 말이죠. 그리고 이 테스트를 정상적으로 통과하기만 한다면 나중에 ASP 단에서 에러가 발생한다고 하더라도 컴포넌트의 소스 문제는 확실하게 아니라는 묵시적인 보장이 됩니다. 따라서 엉뚱한 곳에서 헤매는 일은 없게 되겠죠.

이 과정을 확실하게 지나갔다면 그 다음에는 컴포넌트의 올바른 설치 문제가 남습니다. 예를 들어서 컴포넌트를 VB 로 작성한 경우에는 몇 가지 DLL 들이 반드시 서버에도 설치 또는 복사 되어있어야 합니다. VC++ 로 작성된 컴포넌트인 경우에도 기타 그 구성에 따라 여러가지 파일들이 요구되는 경우도 있구요. 이러한 점들을 확인해 보시기 바랍니다. 그리고 지금처럼 COM+ 에 컴포넌트를 등록하시는 경우에는 COM+ 의 어떤 기능을 사용하느냐에 따라서 설정이 무지막지할 정도로 달라지게 됩니다. 따라서 그와 관련된 부수적인 지식도 요구되구요.

그리고 그 다음에서야 비로소 ASP 단의 코드와 IIS 단에서의 설정을 의심해 볼 수 있게 됩니다. ^_^

그리고 지금 제가 생각하기에 saint74 님께서 무엇보다도 시급하게 만드셔야 할 것은 컴포넌트의 내부 상태를 추적할 수 있는 로그 파일 프레임 웍을 만드시는 것입니다. 이름은 거창하시만 제가 말씀드리는 것은 간단한 것으로 컴포넌트의 내부에서 현재 컴포넌트의 상태를 파일로 로그를 남기도록 하는 것을 말씀드리는 것입니다.

이것이 중요한 이유는 이렇습니다. 지금 ASP 에서 에러가 나셨죠? 아마도 해당 컴포넌트를 생성하거나 컴포넌트의 특정 메소드를 호출하는 라인에서 에러가 났을 것입니다. ASP 단에서 보면 이것은 그냥 한 라인에서 에러가 난 것이죠. 그러나 사실 알고 보면 컴포넌트 내부적으로는 그 메소드 하나가 수 백줄의 라인중에서 어떤 부분이 잘못되서 발생하는 에러인 것입니다.

따라서 로그 파일을 남기도록 컴포넌트를 프로그래밍을 해 두면 그 수 백줄의 메소드 코드 중에서 정확하게 어느 부분에서 에러가 났는지를 명확하게 추적할 수 가 있게 되는 것이죠. 그리고 그것을 찾아내게 되면 디버깅이 당연히 훨씬 쉬워집니다.

만약 IIS 의 설정이 잘못된 탓으로 말씀하신 에러가 나는 것이라고 해도 그렇다면 바로 그 에러가 나는 그 라인은 그 설정과 관계된 무언가를 호출할 것이므로 더욱 원인을 찾기가 쉬워집니다. 따라서 가장 시급한 것은 로그 파일 프레임 웍을 구축하시는 일입니다. ^_^

감사합니다.

IP 주소: 211.216.129.189
전체 1 건의 댓글이 존재합니다.

saint74

답변 감사합니다.. 질문이 불성실한 점을 이해해주시구요.. 아직 초보라서 개념을 잡아가면서 하기때문에..송원석님께서 답변해주신 절차로 우선 해보겠습니다.
2003-11-01 21:52
전체 276 건의 게시물, 12 페이지로 구성된 COM / COM+ by VB 6.0 게시판의 11 페이지입니다.
게시물
26

re: 감사합니다. 상세 구현 예상 방법입니다..

송원석

2003-11-04 5,643
25

re: 감사합니다..

saint74

2003-11-04 3,194
24

re: 아하! 이제야 이해가 가는군요. ^_^ [1]

송원석

2003-11-04 3,314
23

늦었지만.. ^^^

ryangchi

2003-12-09 3,211
22

re: 늦었지만.. ^^^

송원석

2003-12-09 3,070
21

re: RDS를 사용하여 사원인증을 쿼리하려고 하는데...

나그네

2003-11-19 805
20

re: RDS를 사용하여 사원인증을 쿼리하려고 하는데...

nero

2003-11-19 770
19

internet server error: object/module net found

saint74

2003-11-01 3,117

re: internet server error: object/module net found [1]

송원석

2003-11-01 3,206
17

COM+ 와 .Net Class.

sowey

2003-10-18 3,157
16

re: COM+ 와 .Net Class.

송원석

2003-10-18 3,479
15

감사드립니다. [1]

sowey

2003-10-21 3,044
14

안녕하세요. 파일 큐브 괜찮네요.

원초순

2003-09-20 892
13

re: 안녕하세요. 파일 큐브 괜찮네요.

송원석

2003-09-20 3,158
12

구성요소 서비스 에러 문제 입니다.

ㅜ.ㅜ

2003-06-21 4,062
11

re: 구성요소 서비스 에러 문제 입니다. [1]

송원석

2003-06-21 3,798
10

re: 감사합니다. ^^;

ㅜ.ㅜ

2003-06-24 3,120
9

re: 감사합니다. ^^;

송원석

2003-06-24 3,368
8

[Q] 헤메다 이곳까지..죽을꺼 같아요. dll

몬나니

2003-05-20 3,577
7

re: [Q] 헤메다 이곳까지..죽을꺼 같아요. dll

송원석

2003-05-20 3,351
6

re: 성의있는 답변에 감사드립니다..Err Check

몬나니

2003-05-21 3,243
5

re: ASP 에서 사용하기 위한 컴포넌트 개발시 주의할 점

송원석

2003-05-23 3,342
4

역할 기반 보안에 대한 문의

김종필

2003-04-07 3,194
3

re: 역할 기반 보안에 대한 문의

송원석

2003-04-07 3,346
2

감사합니다..많은 도움이 되었습니다~~[냉무]^^

김종필

2003-04-08 3,208