1 |
1
멀티태스크 프로그램의 디버깅을 수행하는 디버깅 시스템에 적용되는 트레이스포인트 설정 방법에 있어서, 사용자로부터 트레이스포인트 설정 및 모니터링 대상이 되는 어플리케이션 프로그램 실행을 위한 트레이스 명령어(Command)를 입력받아, 상기 입력받은 트레이스 명령어를 실행하는 트레이스 명령어 실행 단계; 상기 트레이스 명령어 실행에 따라 상기 어플리케이션 프로그램에 '정의되지 않은 예외 코드(undefined-exception code)'를 삽입하여 트레이스포인트(TracePoint)를 설정하는 트레이스포인트 설정 단계; 상기 트레이스포인트를 설정한 상기 어플리케이션 프로그램 수행 중 상기 트레이스포인트에서 트랩(Trap)의 발생에 따라 사용자정의 트레이스 함수를 실행하는 트레이스 함수 실행 단계; 및 상기 사용자 트레이스 함수 실행을 통하여 획득한 트레이스 메시지를 출력하는 트레이스 메시지 출력 단계 를 포함하는 멀티 태스크 프로그램의 논스톱 디버깅을 위한 트레이스포인트 설정 방법
|
2 |
2
제 1 항에 있어서, 상기 사용자로부터 입력받은, 트레이스포인트 추가를 위한 트레이스 명령어의 실행에 따라 상기 어플리케이션 프로그램에 트레이스포인트를 추가 설정하는 트레이스포인트 추가 설정 단계 를 더 포함하는 멀티 태스크 프로그램의 논스톱 디버깅을 위한 트레이스포인트 설정 방법
|
3 |
3
제 2 항에 있어서, 상기 트레이스포인트 추가 설정 단계의 트레이스포인트 추가 과정은, 상기 어플리케이션 프로그램에서 태스크들의 특정 위치에 '예외 코드' (exception code)를 삽입하기 위해 트레이스포인트 문맥 식별자(ID)(trPt_TaskId)와 트레이스포인트 어드레스(trPt_addr)를 이용하여 트레이스포인트 구조체를 생성하고, 상기 생성한 트레이스포인트 구조체를 브레이크포인트 체인에 등록하여 추가하는 것을 특징으로 하는 멀티 태스크 프로그램의 논스톱 디버깅을 위한 트레이스포인트 설정 방법
|
4 |
4
제 1 항에 있어서, 상기 사용자로부터 입력받은, 트레이스포인트 삭제를 위한 트레이스 명령어의 실행에 따라 상기 어플리케이션 프로그램에 설정된 트레이스포인트를 삭제하는 트레이스포인트 삭제 단계 를 더 포함하는 멀티 태스크 프로그램의 논스톱 디버깅을 위한 트레이스포인트 설정 방법
|
5 |
5
제 4 항에 있어서, 상기 트레이스포인트 삭제 단계의 트레이스포인트 삭제 과정은, 모든 트레이스포인트를 삭제하는 경우에는, 브레이크포인트 체인으로부터 해당 트레이스포인트를 삭제하고 해당 인스트럭션을 원래 코드로 복원한 후 상기 삭제된 트레이스포인트의 정보를 트레이스포인트 프리 리스트(bpFreeList:breakpoint free list)에 추가하는 과정을 상기 브레이크포인트 체인의 처음부터 끝까지 수행하고; 특정 트레이스포인트를 삭제하는 경우에는, 상기 브레이크포인트 체인의 처음부터 브레이크포인트의 끝까지 탐색하여, 삭제하고자하는 특정 트레이스포인트를 가지는 브레이크포인트를 찾은 후, 상기 브레이크포인트로부터 상기 특정 트레이스포인트를 삭제하고나서, 상기 삭제한 특정 트레이스포인트의 인스트럭션 필드 정보에 따라 인스트럭션을 원래 코드로 복원하고 상기 삭제한 트레이스포인트의 정보를 트레이스포인트 프리 리스트에 추가하는 것을 특징으로 하는 멀티 태스크 프로그램의 논스톱 디버깅을 위한 트레이스포인트 설정 방법
|
6 |
6
제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 트레이스 명령어 실행 단계는, 상기 사용자로부터 트레이스포인트 설정 및 테스트 대상이 되는 어플리케이션 프로그램 실행을 위한 트레이스 명령어(Command)를 입력받는 트레이스 명령어 입력 단계; 및 상기 입력받은 트레이스 명령어를 파싱(parsing)하고 명령어표(command table)로부터 상기 파싱한 명령어를 검색하여, 상기 검색한 명령어의 유형에 따라 해당 명령어 함수를 실행하는 명령어 함수 실행 단계 를 포함하는 멀티 태스크 프로그램의 논스톱 디버깅을 위한 트레이스포인트 설정 방법
|
7 |
7
제 6 항에 있어서, 상기 명령어 함수 실행 단계는, 상기 입력받은 트레이스 명령어를 파싱하고 명령어표로부터 상기 파싱한 명령어를 검색하여, 상기 검색한 명령어의 유형을 판단하는 단계; 상기 판단 결과, 상기 명령어가 트레이스정보보기(info trace) 명령어이면, 상기 트레이스포인트 정보 상태를 표시/저장하는 단계; 상기 판단 결과, 상기 명령어가 트레이스설정(trace) 명령어이면, 상기 모니터링 대상 어플리케이션 프로그램의 특정 인스트럭션에 트레이스포인트를 설정하는 단계; 상기 판단 결과, 상기 명령어가 트레이스맵핑(traceMap) 명령어이면, 트레이스포인트 맵핑 파일로부터 트레이스포인트 정보들을 읽어 일괄적으로 어플리케이션 코드에 상기 읽어들인 트레이스포인트 정보들을 세팅하는 단계; 상기 판단 결과, 상기 명령어가 지역변수보기(local) 명령어이면, 타겟에 로딩된 어플리케이션 프로그램의 특정 함수로부터 지역변수값들의 오프셋 어드레스 값을 출력하는 단계; 및 상기 판단 결과, 상기 명령어가 전역변수보기(global) 명령어이면, 상기 어플리케이션 프로그램의 전역 변수의 내용을 표시하는 단계 를 포함하는 멀티 태스크 프로그램의 논스톱 디버깅을 위한 트레이스포인트 설정 방법
|
8 |
8
제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 트레이스 함수 실행 단계는, 상기 어플리케이션 프로그램의 트레이스포인트에 발생하는 예외 트랩(exception trap)의 발생을 기다리는 단계; 트랩 시점의 트랩 어드레스(trap address)를 구하고, 상기 트랩 어드레스를 이용하여 트랩정보를 구하는 단계; 상기 예외 트랩(exception trap)이 발생하면, 상기 발생된 예외 트랩 (exception trap)의 원인을 검사하는 단계; 상기 검사 결과, 상기 예외 트랩이 트레이스포인트에 의해 발생한 경우이면, 트레이싱 정보를 수집하기 위하여 상기 사용자 트레이스 함수를 호출하고 인스트럭션을 원래 코드로 복원하는 단계; 및 상기 검사 결과, 상기 예외 트랩이 브레이크포인트에 의해 발생한 경우이면, 상기 브레이크포인트를 삭제하고 인스트럭션을 원래의 코드로 복원한 후, 태스크 브레이크포인트 트랩 처리를 수행하는 단계 를 포함하는 멀티 태스크 프로그램의 논스톱 디버깅을 위한 트레이스포인트 설정 방법
|
9 |
9
제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 트레이스 메시지 출력 단계는, 호스트 컴퓨터와 타겟과의 시리얼통신을 오픈하여 상기 타겟으로부터 시리얼 이벤트를 수신하여, 상기 수신한 시리얼 이벤트의 종류를 판단하는 단계; 상기 판단 결과, 상기 수신한 시리얼 이벤트가 문자수신이벤트이면, 상기 트레이스 메시지를 수신하여, 상기 수신한 트레이스 메시지를 저장하거나, 상기 사용자에게 출력하는 단계; 및 상기 판단 결과, 상기 수신한 시리얼 이벤트가 문자수신이벤트가 아니면, 상기 수신한 시리얼 이벤트가 시리얼통신 클로즈인지를 확인하여, 시리얼통신 클로즈이면 시리얼통신 클로즈와 함께 종료하고, 시리얼통신 클로즈가 아니면 새로운 시리얼이벤트를 수신하기 위하여 상기 트레이스 메시지 출력 단계의 처음 과정으로 돌아가는 단계 를 포함하는 멀티 태스크 프로그램의 논스톱 디버깅을 위한 트레이스포인트 설정 방법
|
10 |
10
멀티 태스크 프로그램의 논스톱 디버깅을 위한 트레이스포인트 설정을 위하여, 프로세서를 구비한 디버깅 시스템에, 사용자로부터 트레이스포인트 설정 및 모니터링 대상이 되는 어플리케이션 프로그램 실행을 위한 트레이스 명령어(Command)를 입력받아, 상기 입력받은 트레이스 명령어를 실행하는 트레이스 명령어 실행 기능; 상기 트레이스 명령어 실행에 따라 상기 어플리케이션 프로그램에 '정의되지 않은 예외 코드(undefined-exception code)'를 삽입하여 트레이스포인트(TracePoint)를 설정하는 트레이스포인트 설정 기능; 상기 트레이스포인트를 설정한 상기 어플리케이션 프로그램 수행 중 상기 트레이스포인트에서 트랩(Trap)의 발생에 따라 사용자정의 트레이스 함수를 실행하는 트레이스 함수 실행 기능; 및 상기 사용자 트레이스 함수 실행을 통하여 획득한 트레이스 메시지를 출력하는 트레이스 메시지 출력 기능 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
|
11 |
11
제 10 항에 있어서, 상기 사용자로부터 입력받은, 트레이스포인트 추가를 위한 트레이스 명령어의 실행에 따라 상기 어플리케이션 프로그램에 트레이스포인트를 추가 설정하는 트레이스포인트 추가 설정 기능 을 더 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
|
12 |
12
제 10 항 또는 제 11 항에 있어서, 상기 사용자로부터 입력받은, 트레이스포인트 삭제를 위한 트레이스 명령어의 실행에 따라 상기 어플리케이션 프로그램에 설정된 트레이스포인트를 삭제하는 트레이스포인트 삭제 기능 을 더 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
|