2016-12-06 3 views
1

VB6 COM 개체의 메서드에 버그가 있습니다. 그것은 내 웹 응용 프로그램 (고전 ASP와 새로운 ASP.NET, Visual Studio 2015의 혼합)에 "OBJECT RUNAT = server PROGID = fgcom id = bla VIEWASTEXT>/OBJECT"형식의 고전 ASP 페이지에 사용됩니다. 나는 모든 것을위한 코드를 가지고 있으며, VB6 IDE를 포함하여 ISS는 7.5 (7을 얻는다)이다.VB20 디버그 VB6 COM 개체가 VS2015의 클래식 ASP 페이지에 사용되었습니다.

COM 개체로 디버깅 할 수 있습니까? 어떻게해야합니까?

답변

1

VB6 IDE에서 COM 구성 요소를 디버깅 할 수 있습니다.

실제로 VB6 IDE에서 프로젝트를 열면 오류가있는 하위 또는 함수의 첫 번째 실행 줄에 중단 점을 넣은 다음 IDE에서 구성 요소를 시작한 다음 사용하는 응용 프로그램을 실행합니다 그것은 VB6 컴포넌트 메소드를 호출 할 때이다. 이 시점에서 VB6 IDE가 최소화되면 깜박 거리며 중단 점에 초점이 표시되며 IDE에서 단계 및 감시 기능을 사용할 수 있습니다. 이 경우 가장 쉬운 경우 인 호출 코드와 동일한 컴퓨터에 IDE가 있다고 가정합니다.

참고

  1. 나는 당신이 일시적으로 구성 요소가 이미 메모리에 이미있는 경우 다음 그것은 당신의 전화 번호에서 전화를받을 수 있기 때문에 시간 효율성을 디버깅하는 동안 클래스의 이름을 변경하는 것이 좋습니다. 따라서 코드가 MyComponent.SomeClass를 인스턴스화 한 다음 VB6의 MyComponent.SomeClassA로 변경하고 디버깅 작업 기간 동안 호출 코드를 변경 한 다음 솔루션을 찾은 후 최종 컴파일을 위해 다시 설정합니다. 재부팅 등을 통해 메모리 내장 버전을 플러시 할 수 있지만 클래스 이름을 변경하면 더욱 쉽고 명확합니다.

  2. 구성 요소의 디버그 버전이 구성 요소의 초기화 하위에 중단 점을 지정해야합니다.

일단 설정이 완료되면 정말 쉽고 반복 가능하며 효율적인 프로세스입니다.

이러한 설정을 어디에서 변경해야하는지 잘 모르는 경우 지금 알려주십시오.

+1

후기 바인딩 (CreateObject)을 사용하는 경우 이름 변경이 정상적으로 작동해야합니다. 그러나 초기 바인딩 (컴파일 타임 참조) 인 경우 추가 합병증이 발생할 수 있습니다. 참고 문헌이 만들어 져야 할 것입니다 ... – DaveInCaz

+1

@DaveInCaz 그래, 몇 가지 합병증이 있다고 생각하지만 그가 모든 소스를 제어 할 수 있다면 완전히 할 수있는대로 OP를 두려워하지 않으려 고하지 않았습니다. 그러나 좋은 지적. 보자. –

+0

나는 길을 디버그 할 수 있었고, 이름은 바뀌지 않았고 부드럽게 진행되었다. 감사. –