• 제목/요약/키워드: 디버깅

검색결과 334건 처리시간 0.029초

OpenMP프로그램을 위한 경합디버깅 환경의 자동생성 (Automatic Generation of Race Debugging Environment for OpenMP Programs)

  • 강문혜;김영주;전용기
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 봄 학술발표논문집 Vol.29 No.1 (A)
    • /
    • pp.601-603
    • /
    • 2002
  • 공유메모리 병렬프로그램에서 경합은 프로그램의 비결정적인 수행을 초래하므로 디버깅을 위해서 반드시 탐지되어져야 한다. 경합을 수행 중에 디버깅하기 위한 기존의 도구들은 경합탐지 엔진과 시각화 엔진으로 구성된 경합디버깅 엔진을 특정 프로그램 모델에 의존적으로 적용하여 경합디버깅 환경을 구성한다. 이러한 도구들은 프로그램 모델의 변경 시에 경합디버깅 환경이 최적의 경합 디버깅 엔진으로 구성되지 못한다는 문제점이 있다. 본 논문에서는 OpenMP 병렬프로그랭에서 각 프로그램 모델에 따라 효과성, 효율성, 확장성 등을 고려한 경합탐지 엔진과 추상성을 고려한 시각화 엔진으로 경합디버깅 환경을 자동으로 생성하는 도구를 제안한다. 이 도구는 디버깅 대상이 되는 프로그램의 모델에 최적인 경합디버깅 엔진을 적용하므로 경합탐지 목적에 부합하는 최적의 성능과 효과적인 시각화를 제공한다. 따라서, 본 도구는 디버깅 환경을 생성하기 위한 부담을 줄여서 효과적인 디버깅을 할 수 있게 한다.

  • PDF

자바 디버깅을 위한 유니뷰의 기능 설계 및 구현 (A Design and Implementation of Functions of UNIVIEW for Java Debugging)

  • 정연정;류동항;윤기송
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (3)
    • /
    • pp.128-130
    • /
    • 1999
  • 유니뷰(Uniview)는 분산 처리 시스템의 소프트웨어를 개발하는데 효과적인 디버깅 작업을 지원하는 분산처리 진단/교정 소프트웨어 시스템이다. 본 논문은 자바 프로그램의 디버깅을 위해 자바 언어에 대해 부족한 디버깅 기술을 해결하고 사용자에게 다양한 디버깅 정보를 제공하기 위하여 유니뷰에 자바 디버깅을 위한 기능을 추가한다. 유니뷰는 분산 네트워크 환경에서 자바 디버깅 환경을 구축하고 통합된 환경에서 상호 작용을 디버깅할 수 있도록 한다.

  • PDF

자바 카드 운영체제를 위한 실시간 디버깅 방법 (Real-time Debugging Method for Java Card Operating System)

  • 한진희;전성익
    • 한국정보보호학회:학술대회논문집
    • /
    • 한국정보보호학회 2003년도 동계학술대회
    • /
    • pp.9-12
    • /
    • 2003
  • 본 논문에서는 자바 카드 운영체제 개발 시 실시간으로 소스 코드를 디버깅할 수 있는 방법을 제안하고, 제안한 방법을 이용하여 자바 카드 운영체제 개발 시 실시간으로 소스코드 디버깅을 수행하는 과정을 실험결과를 통해 제시하고자 한다. 논문에서 제안하는 디버깅 기능은 디버깅을 위한 클래스 및 디버깅 메소드, native 인터페이스를 통해 연결될 디버깅 함수를 자바 카드 운영체제에 구현하여 개발자가 운영체제 개발을 수행하면서 실시간으로 운영체제상의 소스코드를 원하는 형태로 디버깅할 수 있는 편리한 개발 환경을 제공해 준다. 또한, 개발자 관점의 실시간 소스코드 디버깅 기능을 지원함으로써 자바 카드 운영체제 및 응용 프로그램의 개발을 가속화시키는 부가적인 효과를 얻을 수 있다.

  • PDF

분산처리 진단/교정 시스템을 위한 자바 디버깅 정보 추출에 관한 연구 (A Study of Java Debugging Information Extract for Distributed Diagnosis and Correction System.)

  • 류동항;정민수;윤기송
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (3)
    • /
    • pp.102-104
    • /
    • 1999
  • RPC에 기반한 분산처리 진단/교정 시스템에서는 C/C++ 언어를 위한 디버깅을 지원한다. 본 논문에서는 이 시스템에 자바 언어에 대한 디버깅 지원을 위한 정보 추출부를 설계하였으며 각각의 정보 추출 모듈을 작성하였다. 자바 언어에서는 C/C++과 달리 디버깅 정보가 런 타임시에 결정되는 경우가 많기 때문에 이에 대한 적절한 정보 제공이 요구된다. 본 논문에서 제공하는 자바 디버깅 정보를 이용하여 분산환경의 네트워크 상에서 사용자에게 다양한 자바 디버깅 정보를 실시간으로 제공할 수 있다.

  • PDF

자바 언어를 위한 알고리즈믹 디버깅 기술의 설계 (Design of an Algorithmic Debugging Technique for Java Language)

  • 고훈준;유원희
    • 정보처리학회논문지A
    • /
    • 제11A권1호
    • /
    • pp.97-108
    • /
    • 2004
  • 본 논문은 자바 프로그램에서 논리적인 오류를 발견하기 위해 알고리즈믹 디버깅 기술의 이용을 제안한다. 알고리즈믹 디버깅 기술은 원시프로그램으로부터 실행 트리를 생성하고, 실행 트리로부터 프로그램 내에 포함된 논리적인 오류를 하향식 방법으로 발견하는 반자동화 디버깅기술이다. 따라서 알고리즈믹 디버깅 기술은 다양한 프로그래밍 언어에 알맞은 실행 트리를 생성하는 것이 중요하다. 주 논문에서는 자바 프로그램으로부터 실행 트리를 생성하는 방법을 제안하고 예제론 통해서 자바 프로그램을 위한 알고리즈믹 디버깅 기술을 확인한다. 이 접근은 전통적인 순차적 디버깅 기술보다 사용자와 디버깅 시스템 사이에서 상호작용의 수를 줄일 수 있다.

임베디드 Linux 시스템 기반 프로세스 동시 디버깅을 지원하는 원격 디버거 설계 및 구현 (Design and Implementation of a Remote Debugger for Concurrent Debugging of Multiple Processes based on Embeded Linux System)

  • 심현철;강용혁;엄영익
    • 정보처리학회논문지A
    • /
    • 제10A권4호
    • /
    • pp.305-312
    • /
    • 2003
  • 임베디드 Linux 환경에서 gdb와 gdbserver를 사용하여 현재 디버깅 중인 프로세스로부터 fork 시스템 콜에 의해 생성된 새로운 프로세스를 원격으로 동시에 디버깅할 수는 있으나 이를 위해서 개발자는 부가적인 코딩뿐만 아니라 새로운 프로세스가 생성될 때마다 원격 디버깅을 위해 별도의 gdb 및 gdbserver를 구동 시켜야 하는 등 불필요한 작업을 해야 하므로 효율적인 디버깅 작업을 진행하기 어렵다. 본 논문에서는 Linux 커널의 변경 없이 라이브러리 래핑 방법을 이용하여 원격 시스템에서 동작하는 다중 프로세스들을 동시에 디버깅할 수 있도록 지원하기 위한 mgdb 라이브러리와 mgdbserver를 제안한다. 또한, 파이프를 통하여 데이터를 주고받는 부모-자식 관계의 프로세스들을 원격으로 동시에 디버깅하는 실험을 통하여 본 논문에서 제안한 방법이 기존의 방법보다 더 효율적임을 보인다.

프로그램 디버깅을 위한 휴리스틱 지식의 응용 (On the Application of Heuristic Knowledge for Program Debugging)

  • 서동근
    • 한국정보처리학회논문지
    • /
    • 제6권2호
    • /
    • pp.335-346
    • /
    • 1999
  • 프로그램을 디버깅하는 과정은 원래 사고력이 집중적으로 필요한 작업이다. 이 프로세스를 수행하는 프로그래머를 돕기 위해서는 지식기반의 도구를 개발하는 것이 적절하다고 생각된다. 이 논문은 그러한 시스템에 대한 설계를 발표하기 위한 것이다. 주로 정형적 프로그램 기술과 자동 프로그램 이해에 기반을 둔 대부분의 지식기반 디버깅 도구들과는 달리 이 도구는 디버깅 휴리스틱에 기반을 둔 것이다. 이 도구는 지식베이스에 저장된 디버깅 휴리스틱을 이용하여 프로그램을 디버깅하는 프로그래머에게 무엇을 그리고 어느 곳을 살펴봐야 하는지 제안만을 하는 보조 도구이다. 이 논문에서는 여러 가지 유용한 디버깅 휴리스틱이 설명되며 그것들의 디버깅 프로세스에서의 사용법이 기술된다. 그 다음에는 그 지식들을 지식베이스에서 체계화하는 방안과 그 지식을 이용한 프로그램 디버깅 보조도구를 제안하고 토의한다.

  • PDF

임베디드 소프트웨어 개발을 위한 JTAG 기반의 디버깅 도구 (A JTAG-Based Debugging Tool for Developing Embedded Softwares)

  • 김병철;강문혜;전용기;임채덕
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 봄 학술발표논문집 Vol.31 No.1 (A)
    • /
    • pp.943-945
    • /
    • 2004
  • 임베디드 소프트웨어는 타겟 시스템의 자원과 타이밍에 민감하므로 실제 타겟 시스템과 동일한 환경에서 디버깅해야한다. 이를 위한 기존의 기법들은 타겟 시스템의 자원에 직접적으로 접근하여 시스템 상태를 조사하거나 제어한다. 그러나 이러한 기법들은 내부 신호나 자원에 대한 접근이 제한되어 있는 SoC (System-On-a-Chip) 프로그램을 디버깅하기는 부적합하다. 본 논문에서는 산업 표준화된 JTAG을 기반으로 공개 소프트웨어인 gob를 연동하여 SoC 소프트웨어를 디버깅하는 도구를 제안한다. 따라서 본 도구는 타겟 시스템에 영향을 주지 않고 경제적으로 디버깅할 수 있는 환경을 제공한다.

  • PDF

OpenMP프로그램의 디버깅을 위한 효과적 경합 시각화 (Effective Race Visualization for Debugging OpenMP Programs)

  • 김금희;김영주;전용기
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (1)
    • /
    • pp.13-15
    • /
    • 2004
  • OpenMP 프로그램에서 수행되는 스레드들간에 적절한 동기화 없이 적어도 하나의 쓰기 사건으로 동일한 공유변수에 접근하는 경우에 발생되는 오류인 경합은 비결정적인 수행결과를 초래하므로 디버깅을 위해서 반드시 탐지되어야 한다. 이러한 경합탐지를 위한 기존의 디버깅 도구는 프로그램의 복잡한 수행구조 및 디버깅 정보를 시각화하기 위한 공간이 제한적이므로 효과적인 시각화를 제공하지 못한다. 본 논문에서는 경합 시각화를 위해서 3차원적 시각화와 스레드 및 이벤트 둥의 추상화 기능으로 공간적 제약성을 해결하는 도구를 제안한다. 제안된 도구는 추상적 시각화 정보를 제공하므로 프로그램의 이해가 용이하고 효과적인 경합디버깅 환경을 제공한다.

  • PDF

자바 프로그램을 위한 복합 디버깅 시스템의 설계 (Design of Hybrid Debugging System for Java Programs)

  • 고훈준
    • 한국콘텐츠학회논문지
    • /
    • 제9권1호
    • /
    • pp.81-88
    • /
    • 2009
  • 기존 연구에서는 자바 프로그램에서 논리적인 오류를 찾기 위한 기술로 HDTS를 제안했었다. HDTS는 알고리즈믹 프로그램 디버깅 기술을 이용하여 실행트리에서 오류를 포함하고 있는 메소드를 찾고, 단계적 프로그램 디버깅 기술을 이용하여 오류를 포함하고 있는 메소드에서 오류가 있는 문장을 찾아낸다. 그리고 분할 기술을 이용하여 오류를 포함하고 있는 메소드 내의 문장 중에서 디버깅에 관련이 없는 문장과 실행트리에서 불필요한 노드를 제거하여 노드의 수를 줄임으로서 사용자가 디버깅하는 횟수를 최소화할 수 있는 프로그램 디버깅 기술이다. 본 논문은 자바 프로그램을 디버깅할 수 있는 HDTS 시스템을 구현하기 위한 설계를 한다. 먼저, 자바의 부분언어를 정의하고 자바 원시 코드를 번역할 수 있는 번역기와 실행할 수 있는 가상머신을 설계한다. 그리고 사용자가 디버깅하기 위한 사용자 그래픽 인터페이스를 설계한다.