요약 [Bottom] [Top]

ADPlus 는 프로세스나 응용 프로그램이 응답을 중지하거나 예기치 않게 종료되었을 때 문제를 해결할 수 있도록 Microsoft 고객 기술지원부 (PSS) 에서 제공하는 도구입니다. ADPlus (ADPlus.vbs) 는 Microsoft Internet Information Server(IIS) Exception Monitor(6.1/7.1) 와 사용자 모드 프로세스 덤프 (User Mode Process Dump) 를 대체할 수 있는 도구로 자주 사용됩니다. 이러한 두 도구는 Microsoft Windows DNA 환경에서 프로세스가 응답을 중지하거나 예기치 않게 종료되는 이유를 찾기 위해 PSS 에서 자주 사용하는 개별 도구입니다.

추가 정보 [Bottom] [Top]

시스템 요구 사항 [Bottom] [Top]

ADPlus 를 실행하기 위한 최소 요구 사항은 다음과 같습니다.

ADPlus 버전 6.0 의 새로운 기능 [Bottom] [Top]

ADPlus V6.0 은 완전히 새로 작성되었으며 새로운 스위치와 기능을 제공합니다. 외부 구성 파일을 통해 도구를 구성할 수도 있습니다. Microsoft Windows 디버거 패키지에 포함된 디버거 도움말 파일 (Debugger.chm) 에서 새로운 기능과 스위치에 대한 최신 정보를 볼 수 있습니다. 패키지를 구하려면 다음 Microsoft 웹 사이트를 방문하십시오.

Debugger.chm 은 ADPlus.vbs 와 같은 폴더에 있습니다. ADPlus 설명서를 찾으려면 목차 탭을 누르고 다음 항목을 찾아 누릅니다.

색인 탭을 눌러 ADPlus 의 설명서를 찾을 수도 있습니다. 키워드 텍스트 상자에 ADPlus 를 입력합니다.

ADPlus 가 수행하는 작업 [Bottom] [Top]

ADPlus 는 콘솔 기반의 Microsoft Visual Basic 스크립트로, Microsoft CDB 디버거를 자동화하여 하나 이상의 프로세스 디버그 출력을 포함하는 메모리 덤프와 로그 파일을 생성합니다. ADPlus 를 실행할 때마다 디버깅 정보 (디버그 정보를 포함하는 메모리 덤프와 텍스트 파일) 가 로컬 파일 시스템이나 원격 네트워크 공유에 있는 고유한 이름의 새 폴더 (예: C:\Temp\Crash_Mode_ _Date_01-22-2001_ _Time_09-41-08AMM) 에 저장됩니다. 또한 ADPlus 에서 만드는 각 파일에는 새 파일이 기존 파일을 덮어쓰지 않도록 고유한 이름 (예: PID-1708_ _Inetinfo.exe_ _Date_01-22-2001_ _Time_09-41-08AM.log) 이 지정됩니다.

ADPlus 는 인터넷 정보 서비스 (IIS), Microsoft Transaction Server (MTS) 또는 Microsoft COM+ 응용 프로그램과 같은 사용자 모드 프로세스나 서비스에서 작동합니다.

다음은 ADPlus 의 몇 가지 특징입니다.

ADPlus 를 사용해야 할 경우 [Bottom] [Top]

ADPlus 는 복잡한 환경에서 발생하는 문제의 원인을 찾는 데 필요한 디버깅 정보를 Microsoft PSS 지원 담당자에게 제공하기 위해 만들어졌습니다.

다음과 같은 문제가 발생하는 경우 ADPlus를 사용하여 디버깅 정보를 캡처하십시오.

ADPlus 를 사용하지 말아야 할 경우 [Bottom] [Top]

다음과 같은 경우에는 ADPlus 를 사용하지 마십시오.

ADPlus 를 구하는 방법 [Bottom] [Top]

ADPlus 는 Microsoft Debugging Tools for Windows 에 포함되어 있습니다. Microsoft Debugging Tools for Windows 를 구하려면 다음 Microsoft 웹 사이트를 방문하십시오.

ADPlus 작동 방식 [Bottom] [Top]

ADPlus 에는 다음 두 가지 작동 모드가 있습니다.

중지 모드 [Bottom] [Top]

이 모드에서 ADPlus 는 스크립트 완료 후 명령줄에 지정된 모든 프로세스에 대한 전체 메모리 덤프를 즉시 생성합니다. 만들어진 각 .dmp 파일은 ADPlus 를 실행했을 때의 날짜/시간 스탬프를 포함하는 폴더에 저장됩니다. 각 파일 이름에는 프로세스 이름, 프로세스 ID 및 ADPlus 를 실행했을 때의 날짜/시간 스탬프가 포함됩니다. 프로세스 메모리가 파일로 덤프되는 동안 프로세스는 중지됩니다. 메모리 덤프 파일이 만들어진 후 CDB 디버거의 비침입적 (non-invasive) 연결/분리를 통해 프로세스가 재개됩니다.

사용 팁 중지 모드에서 Userdump.exe 대신 ADPlus 를 사용하여 하나 이상의 프로세스에 대해 메모리를 덤프할 수 있습니다. 중지 모드는 터미널 서버 세션에서도 작동합니다.

충돌 모드 [Bottom] [Top]

이 모드에서 ADPlus 는 CDB 디버거를 명령줄에 지정된 모든 프로세스에 연결하고 자동으로 디버거를 구성하여 다음과 같은 유형의 예외를 모니터링합니다.

이러한 유형의 예외 문제를 해결할 때는 IIS Exception Monitor 나 Userdump.exe 대신 충돌 모드에서 ADPlus 를 사용할 수 있습니다. 충돌 모드는 CDB 디버거를 통해 "침입적" 연결을 사용하기 때문에 Microsoft Windows NT 4.0 이나 Windows 2000 터미널 서버 세션에서 작동하지 않습니다. 이러한 운영 체제의 터미널 서버 세션에서는 비침입적 연결을 사용하는 중지 모드만 작동합니다. 최신 디버거에서 침입적 또는 비침입적으로 프로세스에 연결하는 방법에 대한 자세한 내용은 디버거 도움말의 "Debugging Tools for Windows: Attaching to a Running Process(User Mode)" 절을 참조하십시오.

참고 충돌 모드는 Windows XP와 Microsoft Windows Server 2003 운영 체제의 터미널 서버 세션에서 지원됩니다.

ADPlus 를 충돌 모드에서 실행하는 경우 디버거는 치명적인 예외가 트래핑되고 프로세스가 예기치 않게 종료되거나 사용자가 Ctrl+C 키 조합을 눌러 해당 프로세스에서 디버거를 분리할 때까지 프로세스 수명 동안 명령줄에 지정된 각 프로세스에 계속 연결되어 있습니다. 프로세스에서 디버거를 수동으로 분리하려면 디버거 창을 최대화한 다음 Ctrl+C 를 눌러 디버거를 중단해야 합니다.

Ctrl+C 를 누르면 ADPlus 는 이 명령을 트래핑하고 모든 스레드에 대한 스택을 로그 파일에 나열하기 시작한 다음 프로세스가 디버거에서 분리되기 전에 프로세스에 대한 작은 메모리 덤프 레코드를 생성합니다. 충돌 모드는 침입적 연결을 수행하기 때문에 디버거가 분리되면 프로세스가 중지됩니다. 따라서 프로세스를 다시 시작해야 합니다. MTS 나 COM+ 프로세스는 다음에 해당 패키지의 구성 요소가 호출될 때 자동으로 다시 시작됩니다.

첫 번째 예외 [Bottom] [Top]

첫 번째 예외나 두 번째 예외로 각 예외 유형 (액세스 위반, 스택 오버플로 등) 이 디버거에 발생할 수 있습니다. 정의에 따르면 첫 번째 예외는 오류 처리기로 적절히 처리되는 경우 치명적이지 않습니다. 적절히 처리되지 않으면 첫 번째 예외는 두 번째 예외로 다시 발생하며 디버거로만 처리할 수 있습니다. 디버거가 두 번째 예외를 처리하지 못하면 응용 프로그램이 종료됩니다.

첫 번째 예외와 두 번째 예외 및 Windows NT SEH (구조적 예외 처리) 에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

기본적으로 ADPlus 는 알 수 없는 예외와 EH 예외를 제외한 모든 유형의 치명적이지 않은 첫 번째 예외를 감지하면 다음 동작을 수행합니다.

  1. 프로세스를 일시 중지하여 모니터링 중인 프로세스에 예외가 발생한 날짜와 시간을 로그 파일에 기록합니다.
  2. 모니터링 중인 프로세스에 대해 예외가 발생한 스레드의 스레드 ID 와 호출 스택을 로그 파일에 기록합니다.
  3. 예외 발생 시 고유한 이름으로 프로세스에 대한 작은 메모리 덤프 레코드 (.dump -u /m) 를 생성한 다음 프로세스를 다시 시작합니다.

참고 첫 번째 EH 와 알 수 없는 예외는 자주 발생하므로 ADPlus 는 기본적으로 이러한 예외에 대해서는 고유한 작은 메모리 덤프를 생성하지 않습니다. 일반적으로 이러한 예외는 프로세스나 DLL 의 오류 처리 코드에 의해 처리됩니다. 이러한 예외는 처리되는 예외이므로 처리되지 않는 두 번째 예외가 되지 않으며 프로세스를 종료시키지 않습니다.

첫 번째 EH 와 알 수 없는 예외에 대해 고유한 작은 메모리 덤프를 생성하도록 ADPlus 를 구성할 수도 있습니다. 이렇게 하려면 구성 파일을 사용하여 ADPlus 를 사용자 지정해야 합니다.

두 번째 예외 [Bottom] [Top]

ADPlus 는 EH 와 알 수 없는 예외를 포함하여 모든 유형의 치명적인 두 번째 예외를 감지하면 다음 동작을 수행합니다.

  1. 프로세스를 일시 중지하여 모니터링 중인 프로세스에 예외가 발생한 날짜와 시간을 로그 파일에 기록합니다.
  2. 모니터링 중인 프로세스에 대해 예외가 발생한 스레드의 스레드 ID 와 호출 스택을 로그 파일에 기록합니다.
  3. 치명적인 예외 발생 시 프로세스에 대한 전체 메모리 덤프를 생성한 다음 디버거를 종료합니다. 이 동작은 프로세스를 소멸시킵니다.

참고 Microsoft PSS 지원 담당자가 메모리 덤프를 분석할 때 사용자 지정 구성 요소나 DLL 의 복사본 및 해당 기호 파일이 필요할 수 있습니다. 사용자 DLL 에 대한 기호 파일을 만드는 방법은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

디버거를 사용하여 메모리 덤프를 분석할 때 Microsoft 제품에 대한 기호를 얻는 방법에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.

ADPlus 명령줄 스위치 [Bottom] [Top]

ADPlus 를 사용하려면 스크립트에 일련의 명령줄 스위치나 인수를 지정해야 합니다. 최소한 ADPlus 에는 작동 모드를 지정하는 스위치와 작동 대상 프로세스를 지정하는 스위치가 필요합니다.

다음은 가장 자주 사용되는 스위치입니다. ADPlus –help 를 실행하거나 디버거 도움말 파일 (Debugger.chm) 에서 스위치 전체 목록을 볼 수 있습니다.

처음으로 ADPlus 실행 [Bottom] [Top]

기본적으로 디버거는 Windows의 C:\Program Files\Debugging Tools 폴더에 설치됩니다. 설치 폴더를 변경하려면 디버거를 설치할 때 사용자 지정 설치를 수행하고 다른 폴더를 지정합니다. 또는 표준 설치를 수행한 경우 Program Files\Debugging Tools for Windows 폴더의 내용을 다른 폴더로 복사하면 됩니다.

ADPlus를 실행하려면 명령 셸을 열고 디버거를 설치했거나 복사한 폴더로 전환한 다음 ADPlus.vbs 를 입력합니다.

기본 스크립트 인터프리터를 Wscript.exe에서 Cscript.exe로 변경하라는 메시지가 나타날 수 있습니다. ADPlus에서 CSCript 를 기본 스크립트 인터프리터로 구성하는 것이 좋습니다.

구문 [Bottom] [Top]

ADPlus는 다음 구문을 사용합니다.

ADPlus.vbs mode of operation processes to monitor optional switches

여기서 mode of operation-hang 또는 -crash

processes to monitor-iis, -pn process.exe 또는 -p PID

optional switches-notify, -o 또는 -quiet 입니다.

충돌 모드 디버깅을 위해 서버 준비 [Bottom] [Top]

충돌 모드에서 ADPlus 를 실행하기 전에 ADPlus 충돌 모드 디버깅 세션에서 대부분의 정보를 얻도록 서버를 적절히 준비해야 합니다.

충돌 모드에서 디버깅을 위해 Windows 2000 기반 서버를 준비하는 단계 [Bottom] [Top]

  1. Windows 2000 SP1 이나 SP2 기호를 서버에 있는 C:\WINNT\Symbols 폴더에 설치합니다. 기호는 다음 Microsoft 웹 사이트에서 다운로드할 수 있습니다.
  2. 프롬프트가 나타나면 C:\Sp1sym 또는 C:\Sp2sym 과 같은 새로운 임시 폴더나 디스크 공간이 충분한 드라이브 또는 폴더로 파일을 추출합니다.
  3. C:\Sp1sym\Support\Debug\Symbols\i386\Symbols_sp.exe 또는 C:\Sp2sym\Support\Debug\Symbols\i386\Symbols_sp.exe 를 실행합니다. 여기서 C:\Sp1sym 또는 C:\Sp2sym 은 앞 단계에서 파일을 추출한 폴더입니다.
  4. License 가 표시되면 Yes 를 누릅니다.

  5. 파일을 추출할 폴더를 묻는 메시지가 나타나면 C:\WINNT\Symbols 를 누른 다음 확인을 누릅니다. 새 C:\WINNT\Symbols 폴더가 나타납니다. 이 폴더에는 DLL, EXE 등 여러 하위 폴더가 들어 있습니다.

  6. 사용자 지정 DLL의 기호와 SP1이나 SP2 이후 핫픽스를 C:\WINNT\Symbols\Dll 폴더로 복사합니다.
  7. 사용자 지정 .exe 파일의 기호를 C:\WINNT\Symbols\Exe 폴더로 복사합니다. 또한 개발자로부터 .pdb나 .dbg 파일을 구해 C:\WINNT\Symbols\Dll 폴더에 저장해야 합니다.
  8. C:\WINNT\Symbols\Dll 폴더에 이미 있는 .dbg나 .pdb 파일을 핫픽스의 버전으로 덮어씁니다.

    참고 Winzip 최신 버전을 사용하여 핫픽스 패키지를 열 수 있습니다. \Debug 하위 폴더에서 기호를 추출할 수 있습니다. \Debug 하위 폴더는 각 핫픽스 자동 설치 프로그램에 포함되어 있습니다.

  9. _NT_SYMBOL_PATH 환경 변수를 만들고 C:\WINNT\Symbols 와 동일하게 설정합니다. 이 변수는 시스템 변수나 사용자 환경 변수일 수 있습니다.

충돌 모드에서 디버깅을 위해 Windows NT 4.0 기반 서버를 준비하는 단계 [Bottom] [Top]

  1. Windows NT 4.0 서비스 팩 6a를 실행하고 있다고 가정하고 Windows NT 4.0 SP6a 기호를 서버에 있는 C:\WINNT\Symbols 폴더에 설치합니다. 기호를 다운로드하려면 아래의 Microsoft 웹 사이트를 방문하십시오. Sp6symi.exe를 다운로드한 후에 지정된 폴더에서 실행합니다.
  2. 프롬프트가 나타나면 C:\WINNT 폴더로 파일을 추출하거나 기호가 C:\WINNT에 설치되지 않은 경우 적절한 \WINNT 폴더로 대체합니다. 새 C:\WINNT\Symbols 폴더가 나타나며 이 폴더에는 DLL, EXE 등 다양한 하위 폴더가 들어 있습니다.
  3. C:\WINNT\Symbols\IIS4 폴더의 하위 폴더를 C:\WINNT\Symbols로 복사합니다. 모든 파일을 덮어쓸 것인지 물으면 를 누릅니다.

  4. 사용자 지정 DLL의 기호와 SP6a 이후 핫픽스를 C:\WINNT\Symbols\Dll 폴더로 복사합니다.
  5. 사용자 지정 .exe 파일의 기호를 C:\WINNT\Symbols\Exe 폴더로 복사합니다. 또한 개발자로부터 .pdb나 .dbg 파일을 구해 C:\WINNT\Symbols\Dll 폴더에 저장해야 합니다.
  6. C:\WINNT\Symbols\Dll 폴더에 이미 있는 .dbg나 .pdb 파일을 핫픽스의 버전으로 덮어씁니다.

    참고 Winzip 최신 버전을 사용하여 핫픽스 패키지를 열 수 있습니다. \Debug 하위 폴더에서 기호를 추출할 수 있습니다. 이 하위 폴더는 각 핫픽스 자동 설치 프로그램에 포함되어 있습니다.

  7. _NT_SYMBOL_PATH 환경 변수를 만들고 C:\WINNT\Symbols 와 동일하게 설정합니다. 이 변수는 시스템 변수나 사용자 환경 변수일 수 있습니다.

반드시 디버깅 중인 서버에 기호를 다운로드하고 설치할 필요는 없지만 이렇게 하는 것이 좋습니다. 서버에 기호를 다운로드하고 설치하는 경우 로그 파일에서 캡처한 출력이 Microsoft PSS에서 분석할 때 훨씬 도움이 됩니다.

Microsoft 디버그 기호를 구하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

서버를 구성한 후에 충돌 모드에서 ADPlus를 실행할 수 있습니다. 이 모드는 "일반적인 ADPlus 사용 시나리오" 절에서 자세히 설명합니다.

일반적인 ADPlus 사용 시나리오 [Bottom] [Top]

이 절에서는 ADPlus 를 실행해야 할 수 있는 몇 가지 일반적인 시나리오에 대해 설명합니다.

프로세스가 응답을 중지하거나 CPU 를 100% 사용 [Bottom] [Top]

이 시나리오에서 프로세스는 일정 기간 동안 또는 무한정 CPU 를 100% 사용할 수 있습니다. 문제가 발생한 후에 중지 모드에서 ADPlus 를 실행하여 CPU 를 소모하는 프로세스의 메모리 덤프를 구하십시오. 예를 들어 다음 명령 구문 중 하나를 사용합니다.

CPU를 100% 사용하는 상태에서 중지 모드로 ADPlus를 실행하면 이 도구는 명령줄에 지정된 프로세스의 메모리 덤프 파일을 생성합니다.

참고 CPU를 100% 사용하는 상태가 되거나 프로세스가 중지된 후에 디버거가 프로세스에 연결하지 못하는 경우가 간혹 있습니다. 문제가 발생한 후에 중지 모드에서 ADPlus를 실행하면 도구가 메모리 덤프 파일을 생성할 수 없습니다. 이 시나리오에서는 문제가 발생하기 전에 디버거를 연결하는 것이 가장 좋은 방법일 수 있습니다. 이렇게 하려면 다음 명령 구문 중 하나를 사용하여 충돌 모드에서 ADPlus를 실행하십시오.

그런 다음 프로세스가 중지되거나 CPU를 100% 사용하게 된 디버거가 프로세스에 대한 메모리 덤프 파일을 생성할 수 있도록 사용자가 최소화된 디버거 창에서 Ctrl+C를 누를 수 있습니다.

참고 기본적으로 ADPlus는 사용자가 Ctrl+C를 누를 때 작은 메모리 덤프 레코드만 생성합니다. 이 설정은 디스크 공간을 절약합니다. 이 시나리오에서는 사용자가 Ctrl+C를 누를 때 전체 메모리 덤프 파일을 생성하도록 ADPlus를 구성하는 것이 유용할 수 있습니다. 이렇게 하려면 –CTCF 스위치를 사용하십시오. 또한 CPU 사용이 100%가 되는 상태를 포함하여 일정 기간 동안 성능 로그 파일이나 시스템 모니터 로그 파일을 캡처하는 것이 종종 도움이 됩니다. 최소한 이 로그 파일은 1초에서 5초 간격으로 다음 개체를 캡처해야 합니다.

프로세스가 예기치 않게 종료 [Bottom] [Top]

이 시나리오에서는 프로세스가 예기치 않게 종료되거나 충돌할 수 있습니다. 충돌 모드에서 ADPlus를 실행하여 문제가 발생하기 전에 종료되는 프로세스의 메모리 덤프 파일을 구하십시오. 예를 들어 다음 명령 구문 중 하나를 사용합니다.

참고 로컬 콘솔에서 충돌 모드로 ADPlus를 실행 중인 경우 다음 절에서 설명하는 원격 명령 셸 대신 디버그 세션 기간 동안 콘솔에 로그온해 있어야 합니다.

예를 들어 충돌 모드에서 ADPlus를 시작하고 -iis 스위치를 사용하여 IIS를 모니터링한다고 가정합니다. 콘솔에서 로그아웃하면 콘솔에서 실행 중인 Cdb.exe의 복사본과 실행 중인 다른 모든 응용 프로그램이 종료됩니다. 결과적으로 디버깅이 중단되고 모니터링 중인 프로세스가 종료됩니다.

이런 문제를 방지하려면 Ctrl+Alt+Del을 누른 다음 컴퓨터 잠금을 눌러 콘솔 세션을 잠그거나 대화형 로그온이 필요 없는 비대화형으로 실행하도록 예약된 원격 명령 셸에서 ADPlus를 실행할 수 있습니다.

비대화형으로 실행하도록 원격 명령 셸을 예약하는 방법에 대한 자세한 내용은 "일반적인 ADPlus 사용 시나리오: 원격으로 충돌 모드에서 ADPlus 실행" 절을 참조하십시오.

MTS 또는 COM+ 서버 응용 프로그램이 예기치 않게 종료 [Bottom] [Top]

MTS나 COM+ 서버 응용 프로그램에서 실행되는 COM(사용자 지정 구성 요소 개체 모델) 구성 요소는 실제로 대리 프로세스(Mtx.exe 또는 Dllhost.exe)에서 실행됩니다. 이 대리 프로세스의 속성과 설정은 MTS Explorer(Windows NT 4.0)나 구성 요소 서비스 Microsoft Management Console(MMC) 스냅인(Windows 2000, Windows XP 및 Windows Server 2003)을 통해 구성할 수 있습니다.

기본적으로 MTS나 COM+ 서버 응용 프로그램은 3분의 유휴 시간 후에 종료되도록 구성됩니다. 디버거가 연결되어 있는 동안 계속 실행되고 예외를 모니터링하도록 하려면 유휴 상태일 때도 실행되도록 구성해야 합니다.

또한 MTS와 COM+는 Failfast를 구현합니다. Failfast는 처리되지 않은 액세스 위반을 생성하는 MTS/COM+ 프로세스에 실패(종료)하도록 설계된 안전 장치입니다.

Failfast는 처리되지 않은 액세스 위반 예외를 발생시키는 MTS나 COM+ 응용 프로그램에서 기본적으로 사용됩니다. 따라서 실패하는 MTS/COM+ 서버 응용 프로그램은 두 번째 액세스 위반 예외를 발생시킬 수 없습니다. 즉, 첫 번째 액세스 위반이 발생한 후에 종료됩니다. 기본적으로 ADPlus는 첫 번째 예외가 발생할 때 작은 메모리 덤프 레코드만 생성하도록 구성됩니다.

MTS/COM+ 서버 응용 프로그램을 성공적으로 디버깅하려면 다음과 같이 하십시오.

  1. 유휴 상태일 때도 실행되도록 MTS/COM+ 서버 응용 프로그램을 구성합니다.

  2. FullOnFirst 스위치를 사용하여 첫 번째 예외에서 전체 덤프 파일을 만듭니다.

  3. 충돌 모드에서 ADPlus를 실행하고 응용 프로그램이 실패하기를 기다립니다.

참고 MTS와 COM+는 서버 응용 프로그램을 종료하고 Failfast 정책으로 프로세스는 두 번째 예외를 발생시킬 수 없기 때문에 첫 번째 액세스 위반 메모리 덤프 파일만 얻을 수 있습니다.

원격으로 충돌 모드에서 ADPlus 실행 [Bottom] [Top]

서버 팜에 있는 하나 이상의 원격 서버에서 예기치 않게 종료되는 프로세스를 모니터링하기 위해 로컬 클라이언트 컴퓨터에서 충돌 모드로 ADPlus를 시작해야 하는 경우가 많습니다. 일반적으로 Windows 2000에서는 Windows 터미널 서비스를 통해 이 작업을 수행할 수 있습니다. 그러나 Windows NT 4.0과 Windows 2000에서는 다른 창 스테이션에서 실행되는 응용 프로그램을 디버깅할 수 없기 때문에 ADPlus는 터미널 서비스 세션에서 실행 중인 것을 감지하면 충돌 모드 기능을 해제합니다. 이 문제를 해결하려면 Remote.exe 유틸리티를 사용하여 원격 서버를 공유하고 원격 서버에서 명령 셸을 시작하는 배치 파일을 만든 다음 AT 명령을 사용하여 대상 서버에서 실행되도록 이 배치 파일을 예약합니다. AT 명령은 명령 셸이 서비스와 비슷하게 비대화형으로 실행되도록 합니다. 그러면 원격 명령 셸은 시작하는 데 사용되었던 것과 동일한 Remote.exe 유틸리티를 사용하는 로컬 워크스테이션이나 클라이언트 컴퓨터에 연결됩니다.

AT 명령을 사용하여 서버에서 원격 명령 셸을 시작하려면 다음과 같이 하십시오.

추가 정보 및 알려진 문제 [Bottom] [Top]

참조 [Bottom] [Top]

자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

키워드: kbbug kbdebug kbhowto KB286350

원문링크 [Bottom] [Top]


CategoryDebug

ADPlus 를 이용한 디버깅 (last edited 2006-03-15 07:37:03 by 222)