지시 단계

Instruction step

명령 스텝은 컴퓨터 프로그램이 어떻게 기능하고 있는지를 판단하기 위해 한 번에 한 단계씩 실행하는 방법입니다.이는 실행 중 프로그램에서 올바른 프로그램 흐름이 추적되고 있는지 여부를 판단하거나 한 단계 완료 후 변수가 올바른 값으로 설정되었는지 확인하기 위한 것일 수 있습니다.

하드웨어 명령 단계

이전 컴퓨터에서는 컴퓨터 콘솔의 노브를 사용하여 단계별 실행 모드를 선택하고 "단일 단계" 또는 "단일 주기" 버튼을 누르면 실행이 진행되었습니다.프로그램 상태 워드/메모리 또는 범용 레지스터 판독은 콘솔 조명을 관찰하고 기록함으로써 수행할 수 있습니다.

소프트웨어 명령 단계

여러 사용자가 있는 이후의 플랫폼에서는 이 방법은 실용적이지 않았기 때문에 소프트웨어 기술을 사용하여 한 단계 실행을 수행해야 했습니다.

소프트웨어 기술

  • 계측 - 명령문 스테핑을 수행하려면 컴파일 또는 어셈블리 에 코드를 추가해야 합니다.코드를 수동으로 추가하여 JavaScript와 같은 해석 언어에서도 유사한 결과를 얻을 수 있습니다.
  • 명령 집합 시뮬레이션 - 명령 또는 스테이트먼트 스테핑에 대한 코드 수정이 필요하지 않습니다.

고급 언어의 디버깅을 지원하는 소프트웨어 제품 중에는 HLL 문 전체를 한 번에 실행할 수 있는 것이 있습니다.이 작업에는 많은 기계 명령이 수반되며 시퀀스의 마지막 명령 후 다음 '명령' 단계를 위한 준비가 완료되어 실행이 일시 중지됩니다.이를 위해서는 각 스테이트먼트의 범위를 결정하기 위해 컴파일 출력과의 통합이 필요합니다.

그러나 전체 명령 집합 시뮬레이터는 기계 코드 수준에서 작동하기 때문에 소스 유무에 관계없이 명령 스테핑을 제공할 수 있으며, 이러한 통합을 통해 사용 가능한 상위 레벨에 전체 추적 및 디버깅 정보를 선택적으로 제공할 수 있습니다.또한 옵션으로 HLL 스테이트먼트에 의해 생성된 각 어셈블리(기계) 명령어를 스텝업 할 수도 있습니다.

컴파일된 언어의 혼합에서 컴파일된 여러 '모듈'로 구성된 프로그램과 동적으로 할당된 메모리에서 "on-the-fly" 작성된 명령어도 이 기술을 사용하여 수용할 수 있습니다.

'소프트웨어' 명령 단계를 제공하는 프로그램의 예

  • SIMMON은 명령 스테핑 기능을 제공하는 IBM 내부 테스트 시스템입니다.

레퍼런스

「 」를 참조해 주세요.