2010-02-02 3 views
5

오랜 시간 동안이 문제를보고 마침내 여기에 질문을 올리기로 결정했습니다. Delphi 2007 for .NET (ASP.NET 2.0)으로 작성한 일부 응용 프로그램을 유지 관리해야합니다. 일반적으로 IIS를 사용하여 응용 프로그램을 처음 실행할 때 "웹 서버에서 디버깅을 시작할 수 없습니다. ASP.NET 작업자 프로세스에 연결할 수 없습니다"라는 메시지가 나타납니다. 간단히 F9 (실행) 키를 누르면 실행됩니다. 때로는 실제로 실행되기 전에 여러 번 실행해야합니다.잘못된 "디버깅을 시작할 수 없습니다 ... ASP.NET 작업자 프로세스에 연결할 수 없습니다".NET 용 Delphi 2007의 메시지

Windows 7 64 비트를 실행 중이며 (Vista 64 비트에서도 동일한 효과가 나타납니다.) ASP.NET 용으로 구성된 IIS가 있고 Web.config 파일에 다음 코드가 있습니다.

<system.webServer> 
     <modules> 
     <add name="DbgConnect" type="Borland.DbkAsp.DbkConnModule,Borland.dbkasp,Version=10.5.0.0, 
      Culture=neutral, PublicKeyToken=b0524c541232aae7" preCondition="managedHandler" /> 
     </modules> 
     <validation validateIntegratedModeConfiguration="false" /> 
    </system.webServer> 

내가 결국 때로는 첫 번째 시도에, 디버거에서 응용 프로그램을 실행할 수 있다는 것입니다. 내가 실패를 당했을 때, Run을 누른 후 약 15 초가 지나면, 때로는 웹 앱의 페이지 또는 두 개 (또는 세 개)를 친 후에도 발생합니다. 그리고 예, 델파이가이 모드에 들어가면 디버깅하지 않고 간단히 실행할 수 있습니다. 실제로 디버깅하지 않는 한 모두 괜찮습니다. 그리고 저는 디버거에서 계속 실행하려고 노력할 수 있습니다. 결국에는 작동 할 것입니다.

델파이의 .NET 디버거는 어떻게 든 응용 프로그램을 실행할 수 없다는 아이디어를 얻은 다음 프로세스를 포기하고 멈 춥니 다.

이 동작을 본 다른 개발자도 알고 있습니다. 제 질문은,이 성가신 행동을 멈추는 방법을 아는 사람이 있습니까?

+0

저는 이것이 Delphi 2007 for .NET에서 내부적으로 일어나고 있다고 확신합니다. 어떻게 든 디버거가 시간 초과되는 것처럼 보입니다. 이 오류 메시지가 표시되기 전에 때때로 ASP.NET 응용 프로그램의 2 ~ 3 개의 다른 페이지를 클릭 할 수 있기 때문에이 결론에 도달했습니다. 분명히 오류 메시지가 잘못되었습니다. 그리고, 오류가 디버거에서 발생하는 것 같습니다. 이 시점에서 필자는 Embarcadero가이 기능을 Delphi for .NET에서 사용되지 않는 기능으로 수정하게 될 가능성은 거의 없다고 생각합니다. –

답변

0

이 문제가 계속되면이 문제가 계속 발생합니다. 그러나 여기에 해결 방법이 있습니다.

디버깅하지 않고 프로젝트를 실행 한 다음 작업이 시작되면 프로젝트에 연결하십시오. 이렇게하려면 실행 | 디버깅하지 않고 실행하거나 Ctrl-Shift-F9를 누릅니다.

응용 프로그램이 실행되어 디버거의 서비스를 사용할 수있게하려면 실행 | 프로세스에 첨부합니다. 프로세스에 연결 대화 상자에서 디버거 드롭 다운을 CodeGear .NET Debugger로 설정하십시오. 이제 IIS가 실행중인 프로세스 목록 상자에 나타납니다. 내 컴퓨터에서 w3wp.exe로 나타납니다. [첨부 후 일시 중지] 확인란의 선택을 취소 한 다음 [첨부]를 클릭합니다. (Attach to Process 대화 상자를 처음 사용하면 .NET 디버거로 기본 설정되고 연결 후 일시 중지는 선택되지 않습니다.)

이제 디버거가 활성화되어 실행 중입니다. 중단 점에 도달하거나 예외가 발생하면 실행 | 프로그램 일시 중지, 디버거가로드됩니다. 응용 프로그램을 닫지 않고 디버거를 사용하지 않으려면 실행 | 프로그램에서 분리하십시오.

분명히 응용 프로그램이 이미 실행 중이기 때문에 포기하고 잘못된 오류 메시지를 표시하는 것은 관계가 없습니다.

더하기 크기의 경우이 방법을 사용하여 Delphi for .NET 응용 프로그램을 디버깅하는 좋은 부작용이 있습니다. 일단 실행하고 문제를 발견하면 디버거로 들어가서 무슨 일이 일어나는지 볼 수 있습니다. 문제를 해결하고 문제를 해결하고 다시 컴파일하십시오. IIS에서 응용 프로그램을 실행할 수 있습니다.

일단 프로젝트가 다시 컴파일되면 IIS를 사용하는 응용 프로그램에서 다음 페이지로 이동하면 업데이트 된 프로그램이로드됩니다. 디버거가 다시 필요한 경우 IIS 프로세스에 연결하기 만하면됩니다. 즉, 브라우저에서 응용 프로그램을 닫지 않고도 디버그, 수정, 다시 컴파일, 디버그, 수정, 다시 컴파일 등의 작업을 수행 할 수 있습니다.

0

정확한 오류 메시지는 기억이 나지 않지만 적어도 과거에는 이와 비슷한 것을 보았습니다. 내가 수정 한 것은 .NET 2.0 Framework에서 "제어판"-> 프로그램 추가/제거를 통해 "복구"를 실행 한 것입니다. 그런 다음 컴퓨터를 다시 시작하십시오.

+0

현재 다른 프로젝트를 진행 중입니다. Delphi for .NET으로 돌아 가면이 작업을 시도 할 것입니다. 제안 해 주셔서 감사합니다. –

+0

이 프로젝트를 다시 시작합니다. .NET 2.0 Framework SDK (프로그램 및 기능 애플릿의 .NET 항목은 Windows 7에서 실행 중입니다)에서 복구했습니다. 상황은 약간 나아졌지만 여전히 규칙적으로 행동을 취합니다. –

관련 문제