1 |
1
호스트 프로세서에서 동작하는 디버깅 소프트웨어가,디버깅 실행 코드를 포함하는 프로그램 실행 바이너리를 생성하고, 상기 프로그램 실행 바이너리를 복수의 병렬 프로세서들로 제공하는 단계; 상기 복수의 병렬 프로세서들 중 상기 디버깅 실행 코드가 실행된 타겟 프로세서를 대상으로 상기 디버깅 실행 코드가 실행되기 직전 상태에 상응하는 컨텍스트 정보를 획득하는 단계; 및상기 컨텍스트 정보를 분석하여 상기 디버깅 실행 코드가 실행된 프로세서에서 실행된 프로그램에 대한 디버깅을 수행하는 단계를 포함하는 것을 특징으로 하는 매니코어 병렬 프로세서의 프로그램 디버깅 방법
|
2 |
2
청구항 1에 있어서, 상기 디버깅 실행 코드는프로그램의 실행을 중단시키기 위한 실행중단 명령 및 상기 디버깅 소프트웨어에게 제어 흐름을 넘기기 위한 인터럽트(INTERRUPT)를 발생시키는 핸들러 프로그램을 포함하는 것을 특징으로 하는 매니코어 병렬 프로세서의 프로그램 디버깅 방법
|
3 |
3
청구항 2에 있어서, 상기 타겟 프로세서는 상기 실행중단 명령에 의해 프로그램의 실행을 중단하고, 상기 핸들러 프로그램의 실행을 기반으로 상기 컨텍스트 정보를 메인 메모리에 구비된 컨텍스트 메모리 버퍼에 저장하는 것을 특징으로 하는 매니코어 병렬 프로세서의 프로그램 디버깅 방법
|
4 |
4
청구항 3에 있어서, 상기 컨텍스트 정보는상기 컨텍스트 메모리 버퍼에서 상기 타겟 프로세서의 식별자에 매칭되어 할당된 위치에 저장되는 것을 특징으로 하는 매니코어 병렬 프로세서의 프로그램 디버깅 방법
|
5 |
5
청구항 2에 있어서, 상기 타겟 프로세서는상기 실행중단 명령의 주소값을 내부 레지스터에 저장하고, 상기 핸들러 프로그램이 종료되는 시점에 상기 내부 레지스터에 저장된 주소값을 기반으로 중단된 프로그램의 실행을 재개하는 것을 특징으로 하는 매니코어 병렬 프로세서의 프로그램 디버깅 방법
|
6 |
6
청구항 5에 있어서, 상기 핸들러 프로그램은상기 인터럽트(INTERRUPT)를 발생시켜 상기 디버깅 소프트웨어로 상기 타겟 프로세서에서의 프로그램 실행중단 사실을 전달하고, 상기 디버깅 소프트웨어에 의해 상기 인터럽트가 클리어(CLEAR)되면 종료되는 것을 특징으로 하는 매니코어 병렬 프로세서의 프로그램 디버깅 방법
|
7 |
7
청구항 3에 있어서, 상기 디버깅 소프트웨어는상기 인터럽트가 수신되는 경우에 상기 컨텍스트 메모리 버퍼에서 상기 컨텍스트 정보를 획득하여 분석을 수행하는 것을 특징으로 하는 매니코어 병렬 프로세서의 프로그램 디버깅 방법
|
8 |
8
청구항 1에 있어서, 상기 디버깅 소프트웨어는소스 프로그램을 컴파일하여 생성된 일반 프로그램 실행 바이너리에서 디버깅을 위해 사용자 설정된 실행중단위치(BREAKPOINT)에 상기 디버깅 실행 코드를 삽입하여 상기 디버깅 실행 코드를 포함하는 프로그램 실행 바이너리를 생성하는 것을 특징으로 하는 매니코어 병렬 프로세서의 프로그램 디버깅 방법
|
9 |
9
청구항 8에 있어서, 상기 디버깅 소프트웨어가, 상기 실행중단위치에 삽입된 상기 디버깅 실행 코드를 삭제하고, 사용자의 요청에 따른 신규 실행중단위치에 상기 디버깅 실행 코드를 재삽입하여 상기 디버깅 실행 코드를 포함하는 프로그램 실행 바이너리를 교체하는 단계를 더 포함하는 것을 특징으로 하는 매니코어 병렬 프로세서의 프로그램 디버깅 방법
|
10 |
10
청구항 5에 있어서, 상기 디버깅 소프트웨어가,사용자로부터 디버깅을 목적으로 하는 신규 코드의 실행을 요청받은 경우, 코드의 마지막에 상기 실행중단명령을 포함하는 신규 코드를 생성하여 메인 메모리에 구비된 디버깅 코드 메모리 버퍼에 저장하는 단계; 및상기 신규 코드의 시작 위치에 상응하는 주소값을 상기 내부 레지스터에 저장하는 단계를 더 포함하는 것을 특징으로 하는 매니코어 병렬 프로세서의 프로그램 디버깅 방법
|
11 |
11
청구항 10에 있어서, 상기 타겟 프로세서는상기 핸들러 프로그램이 종료되면 상기 내부 레지스터에 저장된 주소값에 상응하게 상기 신규 코드를 실행하는 것을 특징으로 하는 매니코어 병렬 프로세서의 프로그램 디버깅 방법
|
12 |
12
디버깅 실행 코드를 포함하는 프로그램 실행 바이너리를 생성하고, 상기 프로그램 실행 바이너리를 복수의 병렬 프로세서들로 제공하고, 상기 복수의 병렬 프로세서들 중 상기 디버깅 실행 코드가 실행된 타겟 프로세서를 대상으로 상기 디버깅 실행 코드가 실행되기 직전 상태에 상응하는 컨텍스트 정보를 획득하고, 상기 컨텍스트 정보를 분석하여 상기 디버깅 실행 코드가 실행된 프로세서에서 실행된 프로그램에 대한 디버깅을 수행하는 디버깅 소프트웨어를 포함하는 호스트 프로세서; 및상기 호스트 프로세서와 상기 복수개의 병렬 프로세서들이 공유하는 메인 메모리를 포함하는 것을 특징으로 하는 디버깅 장치
|
13 |
13
청구항 12에 있어서,상기 디버깅 실행 코드는프로그램의 실행을 중단시키기 위한 실행중단 명령 및 상기 디버깅 소프트웨어에게 제어 흐름을 넘기기 위한 인터럽트(INTERRUPT)를 발생시키는 핸들러 프로그램을 포함하는 것을 특징으로 하는 디버깅 장치
|
14 |
14
청구항 13에 있어서, 상기 타겟 프로세서는 상기 실행중단 명령에 의해 프로그램의 실행을 중단하고, 상기 핸들러 프로그램의 실행을 기반으로 상기 컨텍스트 정보를 상기 메인 메모리에 구비된 컨텍스트 메모리 버퍼에 저장하는 것을 특징으로 하는 디버깅 장치
|
15 |
15
청구항 14에 있어서, 상기 컨텍스트 정보는상기 컨텍스트 메모리 버퍼에서 상기 타겟 프로세서의 식별자에 매칭되어 할당된 위치에 저장되는 것을 특징으로 하는 디버깅 장치
|
16 |
16
청구항 13에 있어서, 상기 타겟 프로세서는상기 실행중단 명령의 주소값을 내부 레지스터에 저장하고, 상기 핸들러 프로그램이 종료되는 시점에 상기 내부 레지스터에 저장된 주소값을 기반으로 중단된 프로그램의 실행을 재개하는 것을 특징으로 하는 디버깅 장치
|
17 |
17
청구항 16에 있어서, 상기 핸들러 프로그램은상기 인터럽트(INTERRUPT)를 발생시켜 상기 디버깅 소프트웨어로 상기 타겟 프로세서에서의 프로그램 실행중단 사실을 전달하고, 상기 디버깅 소프트웨어에 의해 상기 인터럽트가 클리어(CLEAR)되면 종료되는 것을 특징으로 하는 디버깅 장치
|
18 |
18
청구항 14에 있어서, 상기 디버깅 소프트웨어는상기 인터럽트가 수신되는 경우에 상기 컨텍스트 메모리 버퍼에서 상기 컨텍스트 정보를 획득하여 분석을 수행하는 것을 특징으로 하는 디버깅 장치
|
19 |
19
청구항 12에 있어서, 상기 디버깅 소프트웨어는소스 프로그램을 컴파일하여 생성된 일반 프로그램 실행 바이너리에서 디버깅을 위해 사용자 설정된 실행중단위치(BREAKPOINT)에 상기 디버깅 실행 코드를 삽입하여 상기 디버깅 실행 코드를 포함하는 프로그램 실행 바이너리를 생성하는 것을 특징으로 하는 디버깅 장치
|
20 |
20
청구항 19에 있어서, 상기 디버깅 소프트웨어는상기 실행중단위치에 삽입된 상기 디버깅 실행 코드를 삭제하고, 사용자의 요청에 따른 신규 실행중단위치에 상기 디버깅 실행 코드를 재삽입하여 상기 디버깅 실행 코드를 포함하는 프로그램 실행 바이너리를 교체하는 것을 특징으로 하는 디버깅 장치
|