KR20040091560A - Jmc 디버깅을 위한 시스템 및 방법 - Google Patents
Jmc 디버깅을 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20040091560A KR20040091560A KR1020040026969A KR20040026969A KR20040091560A KR 20040091560 A KR20040091560 A KR 20040091560A KR 1020040026969 A KR1020040026969 A KR 1020040026969A KR 20040026969 A KR20040026969 A KR 20040026969A KR 20040091560 A KR20040091560 A KR 20040091560A
- Authority
- KR
- South Korea
- Prior art keywords
- thread
- jmc
- debugging
- code
- stepping
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
Abstract
Description
Claims (33)
- JMC(Just-My-Code) 디버깅을 위한 컴퓨터 프로그램 명령어들을 포함하는 컴퓨터 판독 가능 기록 매체에 있어서, 상기 컴퓨터 프로그램 명령어들은관심 코드(interesting code)를 나타내는 각각의 프로그래밍 구성물들(programming constructs)에 디버깅 탐지기들(debugging probes)을 자동으로 삽입하는 동작 - 상기 디버깅 탐지기들은 원시 코드(native code)를 생성하기 위한 컴퓨터 컴퓨터-프로그램 컴파일링 동작들 동안에 삽입됨 - ; 및상기 원시 코드를 프로세스로서 실행하는 동작 - 상기 프로세스는 JMC 스텝핑 동작(JMC step operation) 동안 비관심 코드(uninteresting code)에 대해 자유롭게 실행되는 실행(execution)의 하나 이상의 스레드(thread)를 포함하는데, 상기 하나 이상의 스레드 중의 하나의 스레드는, 오직 상기 스레드가 상기 프로세스를 통해 JMC 스텝핑 중인 동안 상기 디버깅 탐지기들 중의 활성인 하나(active one)를 마주치는 경우, 상기 관심 코드에서 멈춰짐 -을 위한 프로세서에 의해 실행 가능한 컴퓨터 판독 가능 기록 매체.
- 제1항에 있어서, 상기 각각의 프로그래밍 구성물들은 클래스 메소드들(class methods) 및/또는 정적 함수들(static functions)인 컴퓨터 판독 가능 기록 매체.
- 제1항에 있어서, JMC 스텝핑은 디버거에 의한 JMC 스텝-인(JMC step-in),JMC 스텝-아웃(JMC step-out) 또는 JMC 스텝-오버(JMC step-over) 명령의 발행(issuance)을 포함하는 컴퓨터 판독 가능 기록 매체.
- 제1항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수(compile time constant) 및 디버깅 서비스에 대한 호출을 포함하고, 상기 컴퓨터 프로그램 명령어들은상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는(dereferencing) 동작;적어도 하나의 스레드가 JMC 스테핑 중이면, 상기 스레드가 JMC 스테핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 동작;상기 스레드가 JMC 스테핑 중이라고 결정하는 것에 응답하여, 상기 활성인 하나 이후의 코드 라인에서 상기 스레드를 멈추는 동작; 및상기 스레드가 JMC 스텝핑 중이 아니라고 결정하는 것에 응답하여, 상기 스레드를 멈추기 위하여 중단점(breakpoint)을 상기 코드에 자동으로 삽입하지 않는 동작을 위한 명령어들을 더 포함하는 컴퓨터 판독 가능 기록 매체.
- 제1항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고, 상기 컴퓨터 프로그램 명령어들은상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 동작;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 동작; 및상기 스레드가 JMC 스텝핑 중이라고 결정하는 것에 응답하여:상기 활성인 하나 이후의 코드 라인에서 상기 스레드를 멈추는 동작;대응되는 중단점을 제거하는 동작; 및상기 디버깅 탐지기들의 각각의 탐지기를 비활성화시키는(de-activating) 동작을 위한 명령어들을 더 포함하는 컴퓨터 판독 가능 기록 매체.
- 제1항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고, 상기 컴퓨터 프로그램 명령어들은상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 동작;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 동작; 및상기 스레드가 JMC 스텝-인 중이라고 결정하는 것에 응답하여, 상기 스레드가 JMC 스텝-인 중인 프로그래밍 구성물에 대한 호출의 바로 이후의 코드 라인에 중단점을 위치시키는 동작을 위한 명령어들을 더 포함하는 컴퓨터 판독 가능 기록 매체.
- 제1항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고, 상기 컴퓨터 프로그램 명령어들은상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 동작;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 동작; 및상기 스레드가 JMC 스텝-아웃 중이라고 결정하는 것에 응답하여:관심 프로그래밍 구성물(interesting programming construct)로의 제1 스택 프레임의 반환 주소(return address of a first stack frame)를 식별하는 동작; 및상기 반환 주소에 중단점을 삽입하는 동작을 위한 명령어들을 더 포함하는 컴퓨터 판독 가능 기록 매체.
- 제1항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고, 상기 컴퓨터 프로그램 명령어들은상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 동작;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 동작; 및상기 스레드가 JMC 스텝-오버 중이라고 결정하는 것에 응답하여:상기 스레드가 메소드 종단 근처에 있는지 결정하는 동작; 및결정하는 것에 응답하여, 상기 스레드가 메소드 종단 근처에 있으면, 실행되는 다음 관심 코드의 제1 라인에서 상기 스레드를 멈추는 동작을 위한 명령어들을 더 포함하는 컴퓨터 판독 가능 기록 매체.
- 제1항에 있어서, 상기 컴퓨터 프로그램 명령어들은 상기 프로그래밍 구성물들 중의 특정한 것으로서 상기 관심 코드를 식별하기 위한 명령어들을 더 포함하는 컴퓨터 판독 가능 기록 매체.
- 제9항에 있어서, 상기 프로그래밍 구성물들 중의 상기 특별한 것은 사용자 인터페이스, 명령 라인 및/또는 설정 파일 데이터 입력(configuration file data input)을 통해 식별되는 컴퓨터 판독 가능 기록 매체.
- JMC 디버깅을 위한 방법에 있어서,관심 코드를 나타내는 각각의 프로그래밍 구성물들에 디버깅 탐지기들을 자동으로 삽입하는 단계 - 상기 디버깅 탐지기들은 원시 코드를 생성하기 위한 컴퓨터 컴퓨터-프로그램 컴파일링 동작들 동안에 삽입됨 -;상기 원시 코드를 프로세스로서 실행하는 단계 - 상기 프로세스는 JMC 스텝 동작 동안에 비관심 코드에 대해 자유롭게 실행되는 실행의 하나 이상의 스레드를 포함하며, 상기 하나 이상의 스레드 중의 하나의 스레드는, 오직 상기 스레드가 상기 프로세스를 통해 JMC 스텝핑 중인 동안 상기 디버깅 탐지기들 중의 활성인 하나를 마주치는 경우, 상기 관심 코드에서 멈추어짐 -;를 포함하고, 여기서, JMC 스텝핑은 JMC 스텝-인, JMC 스텝-아웃 또는 JMC 스텝-오버 동작을 포함하는 방법.
- 제11항에 있어서, 상기 각각의 프로그래밍 구성물들은 클래스 메소드들 및/또는 정적 함수들인 방법.
- 제11항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수(compile-time constant) 및 디버깅 서비스에 대한 호출을 포함하고,상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 단계;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 단계;상기 스레드가 JMC 스텝핑 중이라고 결정하는 것에 응답하여, 상기 활성인 하나 이후의 코드 라인에서 상기 스레드를 멈추는 단계; 및상기 스레드가 JMC 스텝핑 중이 아니라고 결정하는 것에 응답하여, 상기 스레드를 멈추기 위하여 중단점을 상기 코드에 자동으로 삽입하지 않는 단계를 더 포함하는 방법.
- 제11항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고,상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 단계;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 단계; 및상기 스레드가 JMC 스텝핑 중이라고 결정하는 것에 응답하여:상기 활성인 하나 이후의 코드 라인에서 상기 스레드를 멈추는 단계;대응되는 중단점을 제거하는 단계; 및상기 디버깅 탐지기들의 각각의 탐지기를 비활성화 시키는 단계를 더 포함하는 방법.
- 제11항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고,상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 단계;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 단계; 및상기 스레드가 JMC 스텝-인 중이라고 결정하는 것에 응답하여, 상기 스레드가 JMC 스텝-인 중인 프로그래밍 구성물에 대한 호출의 바로 이후의 코드 라인에 중단점을 위치시키는 단계를 더 포함하는 방법.
- 제11항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고,상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 단계;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 단계; 및상기 스레드가 JMC 스텝-아웃 중이라고 결정하는 것에 응답하여:관심 프로그래밍 구성물로의 제1 스택 프레임의 반환 주소를 식별하는 단계; 및상기 반환 주소에 중단점을 삽입하는 단계를 더 포함하는 방법.
- 제11항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고,상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 단계;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 단계; 및상기 스레드가 JMC 스텝-오버 중이라고 결정하는 것에 응답하여:상기 스레드가 메소드 종단 근처에 있는지 결정하는 단계; 및결정하는 것에 응답하여, 상기 스레드가 메소드 종단 근처에 있으면, 실행되는 다음 관심 코드의 제1 라인에서 상기 스레드를 멈추는 단계를 더 포함하는 방법.
- 제11항에 있어서, 상기 방법은 상기 프로그래밍 구성물들 중의 특정한 것으로서 상기 관심 코드를 식별하는 단계를 더 포함하는 방법.
- JMC 디버깅을 위한 컴퓨팅 장치에 있어서,프로세서; 및상기 프로세서에 연결된 메모리를 포함하고, 상기 메모리는관심 코드를 나타내는 각각의 프로그래밍 구성물들에 디버깅 탐지기들을 자동으로 삽입하는 동작 - 상기 디버깅 탐지기들은 원시 코드를 생성하기 위한 컴퓨터 컴퓨터-프로그램 컴파일링 동작들 동안에 삽입되며 상기 프로그래밍 구성은 클래스 메소드들 및/또는 정적 함수들을 포함함 -; 및상기 원시 코드를 프로세스로서 실행하는 동작 - 상기 프로세스는 JMC 스텝 동작 동안에 비관심 코드에 대해 자유롭게 실행되는 실행의 하나 이상의 스레드를 포함하며 상기 하나 이상의 스레드 중의 하나의 스레드는, 오직 상기 스레드가 상기 프로세스를 통해 JMC 스텝핑 중인 동안 상기 디버깅 탐지기들 중의 활성인 하나를 마주치는 경우, 상기 관심 코드에서 멈추어짐 -을 위한, 상기 프로세서에 의해 실행 가능한 컴퓨터 프로그램 명령어들을 포함하는 컴퓨팅 장치.
- 제19항에 있어서, JMC 스텝핑은 디버거에 의한 JMC 스텝-인, JMC 스텝-아웃 또는 JMC 스텝-오버 명령의 발행을 포함하는 컴퓨팅 장치.
- 제19항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고, 상기 컴퓨터 프로그램 명령어들은상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 동작;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 동작;상기 스레드가 JMC 스텝핑 중이라고 결정하는 것에 응답하여, 상기 활성인 하나 이후의 코드 라인에서 상기 스레드를 멈추는 동작; 및상기 스레드가 JMC 스텝핑 중이 아니라고 결정하는 것에 응답하여, 상기 스레드를 멈추기 위하여 중단점을 상기 코드에 자동으로 삽입하지 않는 동작을 위한 명령어들을 더 포함하는 컴퓨팅 장치.
- 제19항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고, 상기 컴퓨터 프로그램 명령어들은상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 동작;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 동작; 및상기 스레드가 JMC 스텝핑 중이라고 결정하는 것에 응답하여:상기 활성인 하나 이후의 코드 라인에서 상기 스레드를 멈추는 동작;대응되는 중단점을 제거하는 동작; 및상기 디버깅 탐지기들의 각각의 탐지기를 비활성화시키는 동작을 위한 명령어들을 더 포함하는 컴퓨팅 장치.
- 제19항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고, 상기 컴퓨터 프로그램 명령어들은상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 동작;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 동작; 및상기 스레드가 JMC 스텝-인 중이라고 결정하는 것에 응답하여, 상기 스레드가 JMC 스텝-인 중인 프로그래밍 구성물에 대한 호출의 바로 이후의 코드 라인에 중단점을 위치시키는 동작을 위한 명령어들을 더 포함하는 컴퓨팅 장치.
- 제19항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고, 상기 컴퓨터 프로그램 명령어들은상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 동작;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 동작; 및상기 스레드가 JMC 스텝-아웃 중이라고 결정하는 것에 응답하여:관심 프로그래밍 구성물로의 제1 스택 프레임의 반환 주소를 식별하는 동작; 및상기 반환 주소에 중단점을 삽입하는 동작을 위한 명령어들을 더 포함하는 컴퓨팅 장치.
- 제19항에 있어서, 각각의 디버깅 탐지기는 컴파일 시 상수 및 디버깅 서비스에 대한 호출을 포함하고, 상기 컴퓨터 프로그램 명령어들은상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지 결정하기 위하여 상기 활성인 하나에 대응되는 상기 컴파일 시 상수를 역참조하는 동작;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위하여 상기 디버깅 서비스를 호출하는 동작; 및상기 스레드가 JMC 스텝-아웃 중이라고 결정하는 것에 응답하여:상기 스레드가 메소드 종단 근처에 있는지 결정하는 동작; 및결정하는 것에 응답하여, 상기 스레드가 메소드 종단 근처에 있으면,실행되는 다음 관심 코드의 제1 라인에서 상기 스레드를 멈추는 동작을 위한 명령어들을 더 포함하는 컴퓨팅 장치.
- 제19항에 있어서, 상기 컴퓨터 프로그램 명령어들은 상기 프로그래밍 구성물들 중의 특정한 것으로서 상기 관심 코드를 식별하기 위한 명령어들을 더 포함하는 컴퓨팅 장치.
- JMC 디버깅을 위한 컴퓨팅 장치에 있어서,관심 코드를 나타내는 각각의 프로그래밍 구성물들에 디버깅 탐지기들을 자동으로 삽입하기 위한 수단 - 상기 디버깅 탐지기들은 원시 코드를 생성하기 위한 컴퓨터 컴퓨터-프로그램 컴파일링 동작들 동안에 삽입되며, 상기 프로그래밍 구성은 클래스 메소드들 및/또는 정적 함수들을 포함함 -; 및상기 원시 코드를 프로세스로서 실행하기 위한 수단 - 상기 프로세스는 JMC 스텝 동작 동안에 비관심 코드에 대해 자유롭게 실행되는 실행의 하나 이상의 스레드를 포함하며, 상기 하나 이상의 스레드 중의 하나의 스레드는, 오직 상기 스레드가 상기 프로세스에 대해 JMC 스텝핑 중인 동안 상기 디버깅 탐지기들 중의 활성인 하나를 마주치는 경우, 상기 관심 코드에서 멈추어짐 -을 포함하는 컴퓨팅 장치.
- 제27항에 있어서, JMC 스텝핑은 JMC 스텝-인, JMC 스텝-아웃 또는 JMC 스텝-오버 동작을 포함하는 컴퓨팅 장치.
- 제27항에 있어서,상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지를 결정하기 위한 수단;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위한 수단;상기 스레드가 JMC 스텝핑 중이라고 결정하는 것에 응답하여, 상기 활성인 하나 이후의 코드 라인에서 상기 스레드를 멈추기 위한 수단; 및상기 스레드가 JMC 스텝핑 중이 아니라고 결정하는 것에 응답하여, 상기 관심 코드에서 상기 스레드를 자동으로 멈추지 않기 위한 수단을 더 포함하는 컴퓨팅 장치.
- 제27항에 있어서,상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지를 결정하기 위한 수단;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위한 수단;상기 스레드가 JMC 스텝-인 중이라고 결정하는 것에 응답하여, 상기 스레드가 JMC 스텝-인 중인 프로그래밍 구성물에 대한 호출의 바로 이후의 코드 라인에서상기 스레드를 멈추기 위한 수단을 더 포함하는 컴퓨팅 장치.
- 제27항에 있어서,상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지를 결정하기 위한 수단;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위한 수단;상기 스레드가 JMC 스텝-아웃 중이라고 결정하는 것에 응답하여:관심 프로그래밍 구성물로의 제1 스택 프레임의 반환 주소를 식별하기 위한 수단; 및상기 반환 주소에서 상기 스레드를 멈추기 위한 수단을 더 포함하는 컴퓨팅 장치.
- 제27항에 있어서,상기 활성인 하나를 마주치는 것에 응답하여, 실행의 상기 하나 이상의 스레드 중의 임의의 것이 JMC 스텝핑 중인지를 결정하기 위한 수단;적어도 하나의 스레드가 JMC 스텝핑 중이면, 상기 스레드가 JMC 스텝핑 중인지 결정하기 위한 수단;상기 스레드가 JMC 스텝-오버 중이라고 결정하는 것에 응답하여:상기 스레드가 메소드 종단 근처에 있는지 결정하기 위한 수단; 및결정하는 것에 응답하여, 상기 스레드가 메소드 종단 근처에 있으면, 실행되는 다음 관심 코드의 제1 라인에서 상기 스레드를 멈추기 위한 수단을 더 포함하는 컴퓨팅 장치.
- 제27항에 있어서, 상기 프로그래밍 구성물들 중의 특정한 것으로서 상기 관심 코드를 식별하기 위한 수단을 더 포함하는 컴퓨팅 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/419,384 | 2003-04-21 | ||
US10/419,384 US7401323B2 (en) | 2003-04-21 | 2003-04-21 | Just-My-Code debugging |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040091560A true KR20040091560A (ko) | 2004-10-28 |
KR100996807B1 KR100996807B1 (ko) | 2010-11-25 |
Family
ID=32990322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040026969A KR100996807B1 (ko) | 2003-04-21 | 2004-04-20 | Jmc 디버깅을 위한 시스템, 방법 및 컴퓨터 판독가능 기록 매체 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7401323B2 (ko) |
EP (1) | EP1475714B1 (ko) |
JP (1) | JP4901075B2 (ko) |
KR (1) | KR100996807B1 (ko) |
CN (1) | CN100430904C (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101019938B1 (ko) * | 2006-06-26 | 2011-03-09 | 가부시키가이샤 엔티티 도코모 | 문서들에 임베디드된 스크립트의 거동을 제한하는 프로그램인스트루멘테이션 방법 및 장치 |
KR20150132161A (ko) * | 2013-03-15 | 2015-11-25 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 저스트 마이 코드를 이용하는 자바스크립트 디버깅 기법 |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7143407B2 (en) * | 2001-07-26 | 2006-11-28 | Kyocera Wireless Corp. | System and method for executing wireless communications device dynamic instruction sets |
US7493615B2 (en) * | 2003-05-01 | 2009-02-17 | Sun Microsystems, Inc. | Apparatus and method for synchronizing multiple threads in an out-of-order microprocessor |
US20050071820A1 (en) * | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | Using a debugging framework to enforce best practices in program development |
US20050120272A1 (en) * | 2003-11-13 | 2005-06-02 | Smith Zachary S. | Systems and methods for determining bug ownership |
US7647586B2 (en) * | 2004-08-13 | 2010-01-12 | Sun Microsystems, Inc. | System and method for providing exceptional flow control in protected code through watchpoints |
US7882492B2 (en) * | 2004-09-17 | 2011-02-01 | Oracle America, Inc. | Intelligent computer program debugger, and system and method for implementing the same |
US7457671B2 (en) | 2004-09-30 | 2008-11-25 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
US7493604B2 (en) * | 2004-10-21 | 2009-02-17 | Microsoft Corporation | Conditional compilation of intermediate language code based on current environment |
CN100345120C (zh) * | 2004-12-24 | 2007-10-24 | 华为技术有限公司 | 一种利用编解码输出信息的方法 |
US20060161896A1 (en) * | 2005-01-14 | 2006-07-20 | International Business Machines Corporation | Performing debug requests that are within the debug domain of a class loader |
US7698691B2 (en) * | 2005-09-20 | 2010-04-13 | Microsoft Corporation | Server application state |
US20070074168A1 (en) * | 2005-09-29 | 2007-03-29 | International Business Machines Corporation | Automated step type determination |
US20070078538A1 (en) * | 2005-09-30 | 2007-04-05 | Omron Corporation | Debug device |
US20070168972A1 (en) * | 2005-11-30 | 2007-07-19 | International Business Machines Corporation | Debugging a computer program |
US7774761B2 (en) * | 2005-12-27 | 2010-08-10 | International Business Machines Corporation | Use of memory watch points and a debugger to improve analysis of runtime memory access errors |
CN100485636C (zh) * | 2006-04-24 | 2009-05-06 | 华为技术有限公司 | 一种基于模型驱动进行电信级业务开发的调试方法及装置 |
US7716646B2 (en) * | 2006-05-11 | 2010-05-11 | Rekha Kaushik | Loading a chain of processors from an XML file |
US8225286B2 (en) * | 2006-05-23 | 2012-07-17 | Microsoft Corporation | Debugging interpreted input |
US8429613B2 (en) * | 2006-10-31 | 2013-04-23 | Microsoft Corporation | Stepping and application state viewing between points |
US7926036B2 (en) * | 2007-04-26 | 2011-04-12 | Microsoft Corporation | Technologies for code failure proneness estimation |
US8355706B2 (en) * | 2007-07-20 | 2013-01-15 | Broadcom Corporation | Method and system for utilizing context data tags to catalog data in wireless system |
US7882495B2 (en) * | 2007-06-14 | 2011-02-01 | Microsoft Corporation | Bounded program failure analysis and correction |
US8291381B2 (en) * | 2007-09-27 | 2012-10-16 | Microsoft Corporation | Call stack parsing in multiple runtime environments |
US20090132666A1 (en) * | 2007-11-15 | 2009-05-21 | Shahriar Rahman | Method and apparatus for implementing a network based debugging protocol |
US8191074B2 (en) | 2007-11-15 | 2012-05-29 | Ericsson Ab | Method and apparatus for automatic debugging technique |
CN101482845B (zh) * | 2008-01-08 | 2011-08-10 | 国际商业机器公司 | 一种调用即时调试器的方法和系统 |
US8141056B2 (en) * | 2008-04-03 | 2012-03-20 | International Business Machines Corporation | Just-in-time dynamic instrumentation |
US8196107B2 (en) * | 2008-06-19 | 2012-06-05 | Microsoft Corporation | Simulating stepping through interpreted code |
US8683439B2 (en) * | 2008-08-21 | 2014-03-25 | International Business Machines Corporation | System and process for debugging object-oriented programming code leveraging preprocessors |
US8752020B2 (en) * | 2008-08-21 | 2014-06-10 | International Business Machines Corporation | System and process for debugging object-oriented programming code leveraging runtime metadata |
CN101739333B (zh) * | 2008-11-25 | 2013-10-16 | 国际商业机器公司 | 应用程序的调试方法、调试工具及调试装置 |
US9632909B2 (en) * | 2008-12-16 | 2017-04-25 | Microsoft Technology Licensing, Llc | Transforming user script code for debugging |
US8732663B2 (en) * | 2010-02-24 | 2014-05-20 | Salesforce.Com, Inc. | System, method and computer program product for providing automated testing by utilizing a preconfigured point of entry in a test or by converting a test to a predefined format |
US20110321017A1 (en) * | 2010-06-29 | 2011-12-29 | International Business Machines Corporation | Computer code debugging method and apparatus providing exception breakpoints |
EP2477116A1 (en) * | 2011-01-13 | 2012-07-18 | Software AG | Method and system for debugging a job running on a legacy system |
US8756572B2 (en) | 2011-03-22 | 2014-06-17 | Microsoft Corporation | Debugger-set identifying breakpoints after coroutine yield points |
US8661413B2 (en) * | 2011-04-13 | 2014-02-25 | International Business Machines Corporation | Impact indication of thread-specific events in a non-stop debugging environment |
US8893090B2 (en) | 2011-04-15 | 2014-11-18 | Microsoft Corporation | Stepping out of an asynchronous method into its continuation in a debugger |
US8918767B2 (en) | 2011-06-16 | 2014-12-23 | Microsoft Corporation | Pattern-based compilation of asynchronous consumption |
US9009678B2 (en) * | 2011-06-28 | 2015-04-14 | International Business Machines Corporation | Software debugging with execution match determinations |
JP5785474B2 (ja) * | 2011-10-27 | 2015-09-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | プログラムのデバッグ方法、デバッグ装置、およびデバッグ支援gui |
US8776025B2 (en) * | 2011-11-04 | 2014-07-08 | International Business Machines Corporation | Integrated debugger and code coverage tool |
US9087153B2 (en) | 2011-11-04 | 2015-07-21 | International Business Machines Corporation | Code coverage framework |
EP2608057A1 (en) | 2011-12-23 | 2013-06-26 | Software AG | Computer-implemented system for analyzing an instance of a process |
US9274931B2 (en) | 2013-05-06 | 2016-03-01 | International Business Machines Corporation | Inserting implicit sequence points into computer program code to support debug operations |
US10127138B2 (en) * | 2013-06-06 | 2018-11-13 | Microsoft Technology Licensing, Llc. | Debugging native code by transitioning from execution in native mode to execution in interpreted mode |
US9146834B2 (en) * | 2013-08-22 | 2015-09-29 | Oracle International Corporation | Targeted cloud-based debugging |
US9239774B2 (en) * | 2014-01-15 | 2016-01-19 | Microsoft Technology Licensing, Llc | Classification of JavaScript code for debugging using just my code |
US9424163B2 (en) * | 2014-01-15 | 2016-08-23 | Microsoft Technology Licensing, Llc | Exception and debugging behaviors for JavaScript debugging using just my code |
US10275234B2 (en) * | 2015-05-28 | 2019-04-30 | Sap Se | Selective bypass of code flows in software program |
US10579498B2 (en) * | 2016-07-31 | 2020-03-03 | Microsoft Technology Licensing, Llc. | Debugging tool for a JIT compiler |
US10162731B2 (en) | 2017-01-23 | 2018-12-25 | International Business Machines Corporation | Conditional breakpoint on call stack during debugging at runtime |
US10169197B2 (en) * | 2017-01-24 | 2019-01-01 | International Business Machines Corporation | Temporary breakpoints during debug process |
US10120656B1 (en) | 2017-11-07 | 2018-11-06 | Bank Of America Corporation | Robotic process automation system for functional evaluation and improvement of back end instructional constructs |
US10713145B2 (en) * | 2018-01-05 | 2020-07-14 | International Business Machines Corporation | Automated debugging with combined static and dynamic analysis |
US11436830B2 (en) | 2020-03-11 | 2022-09-06 | Bank Of America Corporation | Cognitive robotic process automation architecture |
US11294793B1 (en) * | 2020-10-23 | 2022-04-05 | UiPath Inc. | Robotic process automation (RPA) debugging systems and methods |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2653411B2 (ja) * | 1992-02-19 | 1997-09-17 | 工業技術院長 | ブレークポイント設定方法 |
JPH0822401A (ja) * | 1994-07-07 | 1996-01-23 | Hitachi Ltd | プログラム実行中断方法およびデバッギング装置 |
JPH09146776A (ja) * | 1995-11-22 | 1997-06-06 | Hitachi Ltd | オブジェクト生成方法、及びデバッグ方法 |
JPH11194959A (ja) * | 1997-12-26 | 1999-07-21 | Nec Corp | コンパイル方法もしくはコンパイルプログラムを記録したコンピュータ読みとり可能な記憶媒体 |
US6249907B1 (en) * | 1998-03-24 | 2001-06-19 | International Business Machines Corporation | Method system and article of manufacture for debugging a computer program by encoding user specified breakpoint types at multiple locations in the computer program |
JP3130884B2 (ja) * | 1998-12-17 | 2001-01-31 | 日本電気アイシーマイコンシステム株式会社 | デバッグ装置およびデバッグ方法 |
JP2001060161A (ja) * | 1999-08-24 | 2001-03-06 | Nec Ic Microcomput Syst Ltd | デバッグ装置、方法及び記録媒体 |
US6681384B1 (en) * | 1999-12-23 | 2004-01-20 | International Business Machines Corporation | Multi-threaded break-point |
US6826746B2 (en) | 2001-03-08 | 2004-11-30 | International Business Machines Corporation | Debugger probe for object oriented programming |
US6931631B2 (en) * | 2001-06-27 | 2005-08-16 | International Business Machines Corporation | Low impact breakpoint for multi-user debugging |
US7134115B2 (en) * | 2002-02-07 | 2006-11-07 | Matsushita Electric Industrial Co., Ltd. | Apparatus, method, and program for breakpoint setting |
US20040123279A1 (en) * | 2002-12-18 | 2004-06-24 | International Business Machines Corporation | Method and system for auto-instrumenting java applications through probe injection |
US20040230955A1 (en) * | 2003-02-26 | 2004-11-18 | Bea Systems, Inc. | System for multi-language debugging |
-
2003
- 2003-04-21 US US10/419,384 patent/US7401323B2/en not_active Expired - Fee Related
-
2004
- 2004-03-24 EP EP04007107.8A patent/EP1475714B1/en not_active Expired - Lifetime
- 2004-04-20 KR KR1020040026969A patent/KR100996807B1/ko active IP Right Grant
- 2004-04-21 JP JP2004125956A patent/JP4901075B2/ja not_active Expired - Fee Related
- 2004-04-21 CN CNB2004100351610A patent/CN100430904C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101019938B1 (ko) * | 2006-06-26 | 2011-03-09 | 가부시키가이샤 엔티티 도코모 | 문서들에 임베디드된 스크립트의 거동을 제한하는 프로그램인스트루멘테이션 방법 및 장치 |
KR20150132161A (ko) * | 2013-03-15 | 2015-11-25 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 저스트 마이 코드를 이용하는 자바스크립트 디버깅 기법 |
Also Published As
Publication number | Publication date |
---|---|
JP2004326789A (ja) | 2004-11-18 |
EP1475714B1 (en) | 2016-11-16 |
US20040210876A1 (en) | 2004-10-21 |
CN1540517A (zh) | 2004-10-27 |
CN100430904C (zh) | 2008-11-05 |
JP4901075B2 (ja) | 2012-03-21 |
US7401323B2 (en) | 2008-07-15 |
EP1475714A3 (en) | 2008-07-16 |
KR100996807B1 (ko) | 2010-11-25 |
EP1475714A2 (en) | 2004-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100996807B1 (ko) | Jmc 디버깅을 위한 시스템, 방법 및 컴퓨터 판독가능 기록 매체 | |
US7761855B2 (en) | Computer program product and system for altering execution flow of a computer program | |
EP2359247B1 (en) | Transforming user script code for debugging | |
US5761510A (en) | Method for error identification in a program interface | |
US10169199B2 (en) | Automatic model-specific debugger extensions | |
US20050223363A1 (en) | Evaluation of a code segment | |
US6874140B1 (en) | Debug annotations | |
JP2000181725A (ja) | 実行可能なコ―ドを改変し、追加機能を付与するための方法およびシステム | |
US9367423B1 (en) | Methods, systems, and articles of manufacture for using multiple modes during execution of a program | |
US20180107585A1 (en) | Using edit and continue to dynamically set and unset optimizations in source code while debugging | |
JPH09325901A (ja) | デバッギングを実施する方法 | |
US7320121B2 (en) | Computer-implemented system and method for generating embedded code to add functionality to a user application | |
US7694289B2 (en) | Method for embedding object codes in source codes | |
US20090320007A1 (en) | Local metadata for external components | |
US20080307397A1 (en) | Program Analysis by Partial Emulation | |
Aktemur et al. | Debugging SYCL programs on heterogeneous Intel® architectures | |
Bouraqadi et al. | Test-driven development for generated portable Javascript apps | |
US20060174230A1 (en) | Methods for hosting general purpose computer languages on speical purpose systems | |
US20030056197A1 (en) | Method and apparatus to facilitate debugging computer code within an operating system kernel | |
JPH11110256A (ja) | プログラムデバッグ装置、プログラムデバッグ方法及びその方法を記録したコンピュータ読取り可能な記録媒体 | |
Wielemaker | SWI-Prolog 3.2 | |
Lee et al. | Object-Oriented Programming | |
Olsson et al. | Investigation of High-Level Language Support in a Resource-Constrained Embedded Environment | |
Apter | Debug Interface for Multi-Aspect Debugging | |
Martorell et al. | gtrace: function call and memory access traces of dynamically linked programs in IA-32 and IA-64 Linux |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20131016 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141017 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151016 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161019 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20171018 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20181018 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20191016 Year of fee payment: 10 |