• 제목/요약/키워드: Debugger

검색결과 59건 처리시간 0.028초

병행 Java 프로그램의 확장적 경합탐지를 위한 JDI 기반의 투명한 감시도구 (A Transparent Monitor Based on JDI for Scalable Race Detection of Concurrent Java Programs)

  • 김영주;구인본;배병진;전용기
    • 정보처리학회논문지A
    • /
    • 제16A권2호
    • /
    • pp.55-60
    • /
    • 2009
  • 병행 Java 프로그램의 경합은 프로그램의 비결정성을 초래하므로 반드시 탐지되어야 한다. 이러한 경합을 수행 중에 탐지하기 위해서는 스레드에 대한 수행양상과 모든 접근사건들을 감시할 수 있어야 한다. 기존의 경합탐지 기법들은 프로그램의 수행중에 기록된 파일들을 분석하거나 대상 프로그램을 수정하여 감시하므로 스레드나 모든 접근사건들에 대한 감시가 현실적으로 어렵다. 본 연구에서는 JDI(Java Debug Interface)를 이용하여 스레드에 대한 수행양상과 모든 접근사건을 감시하여 확장적 경합탐지를 할 수 있는 투명한 감시도구를 제안한다. 여기서 JDI는 JDPA(Java Platform Debugger Architecture)에서 제공하는 상위 레벨의 100% 순수 자바 인터페이스로써 자바프로그램의 수행중에 특정 정보를 제공할 수 있다. 그리고 제안된 도구의 투명성을 입증하기 위해서 벤치마크 프로그램으로 실험한 결과, 모든 스레드와 접근사건들을 프로그램 수정없이 감시할 수 있었고 프로그램의 감시시간이 20배 이상 증가되었다.

iOS 어플리케이션의 잠재적 취약점 분석을 위한 LLDB 모듈 개발 (Development of LLDB module for potential vulnerability analysis in iOS Application)

  • 김민정;류재철
    • 인터넷정보학회논문지
    • /
    • 제20권4호
    • /
    • pp.13-19
    • /
    • 2019
  • 애플의 어플리케이션 마켓인 App Store에 어플리케이션을 등록하기 위해서는 애플 검증 센터를 통해 엄격한 검증 과정을 통과해야 한다. 그렇기 때문에 스파이웨어 어플리케이션의 유입이 까다롭다. 하지만 정상적인 어플리케이션의 취약점을 통해서도 악성코드가 실행될 수 있다. 이러한 공격을 방지하기 위해서는 어플리케이션에서 발생할 수 있는 잠재적 취약점을 패치하기 위해 조기에 발견하고 분석하는 연구가 필요하다. 잠재적 취약점을 증명하기 위해서는 취약점의 근본 원인을 파악하고 악용 가능성을 분석해야 한다. iOS 어플리케이션을 분석하는 도구로는 개발 도구인 Xcode에 내장되어 있는 LLDB라는 이름의 디버거를 활용할 수 있다. LLDB에는 다양한 기능이 존재하며 이 기능들은 API로도 제공되어 Python에서도 사용이 가능하다. 따라서 본 논문에서 LLDB API를 활용하여 iOS 어플리케이션의 잠재적 취약점을 효율적으로 분석하는 방법에 대해 제안한다.

폴링기반 통신 시스템을 위한 에너지 인지적인 동적 주파수 조절 알고리즘 (Energy-aware Dynamic Frequency Scaling Algorithm for Polling based Communication Systems)

  • 조민기;박대진
    • 한국정보통신학회논문지
    • /
    • 제26권9호
    • /
    • pp.1405-1411
    • /
    • 2022
  • 고성능 프로세서와 같은 하드웨어의 발전이 계속됨에 따라 임베디드 환경에서 전력관리는 여전히 중요한 문제이다. DVFS와 같은 전력관리방식은 네트워크 통신과 같은 폴링 기반의 입출력 프로그램에서 효율적인 전력관리를 위해 적응형 방식으로 CPU 주파수를 조절한다. 본 논문에서는 기존 전력관리방식에서의 문제점을 제시하고 새로운 전력관리 방식을 제안한다. 이를 통해 데이터 수신의 빈도가 낮은 상황에서는 폴링 주기를 늘려 전력소모를 줄일 수 있고, 반대로 데이터 수신이 빈번한 상황에서는 최대주파수로 동작하여 성능저하없이 동작 할 수 있다. 이를 임베디드 보드상에 코드계층으로 구현하고 Atmel사의 Power Debugger를 통해 실험 관찰한 결과 제안한 방식은 기존의 전력관리방식과 비교하여 전력소모에서 최대 30%의 성능향상을 보였다.

The Development of Reusable SoC Platform based on OpenCores Soft Processor for HW/SW Codesign

  • Bin, Young-Hoon;Ryoo, Kwang-Ki
    • Journal of information and communication convergence engineering
    • /
    • 제6권4호
    • /
    • pp.376-382
    • /
    • 2008
  • Developing highly cost-efficient and reliable embedded systems demands hardware/software co-design and co-simulation due to fast TTM and verification issues. So, it is essential that Platform-Based SoC design methodology be used for enhanced reusability. This paper addresses a reusable SoC platform based on OpenCores soft processor with reconfigurable architectures for hardware/software codesign methodology. The platform includes a OpenRISC microprocessor, some basic peripherals and WISHBONE bus and it uses the set of development environment including compiler, assembler, and debugger. The platform is very flexible due to easy configuration through a system configuration file and is reliable because all designed SoC and IPs are verified in the various test environments. Also the platform is prototyped using the Xilinx Spartan3 FPGA development board and is implemented to a single chip using the Magnachip cell library based on $0.18{\mu}m$ 1-poly 6-metal technology.

선택적 레덱스 트레일 기반의 디버거 (A Debugger based on Selective Redex Trail)

  • 박희완;한태숙
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제27권9호
    • /
    • pp.973-985
    • /
    • 2000
  • 함수형 프로그래밍 언어는 전통적인 프로시저형 언어에 비하여 많은 장점이 있다. 그러나 함수 언어 프로그래머를 위한 실용적인 디버깅 환경은 상대적으로 빈약하다. 그동안 유용한 디버거 구현을 위해서 많은 시도가 있었고, 그 결과로 하향식 기법으로 이용한 알고리즈믹 디버거와 상향식 기법을 이용한 레덱스 트레일 디버거가 연구되었다. 두가지 기법은 모두 실제 프로그래밍에 적용하기에는 유지해야 하는 디버깅 정보의 양이 많다는 단점이 있다. 이 논문에서는 선택적 레덱스 트레일 디버깅 방법을 제안한다. 이 방법을 이용하면 디버거 사용자는 프로그램에서 오류가 예상되는 부분에 포커스를 설정할 수 있고 단지 선택된 부분에 한하여 트레일을 생성하게 된다. 이 방법은 프로그램의 오류에 대한 디버거 사용자의 예측을 반영하고 디버깅에 필요한 정보의 양을 줄이는 장점이 있다. 구현된 디버깅 시스템은 선택적 레덱스 트레일을 생성하는 추상기계와 실제 디버깅이 이루어지는 레덱스 트레일 탐색기로 구성된다.

  • PDF

웹 기반 원격 소프트웨어 디버거의 설계 (Design and Implementation of a Remote Debugger based on Web)

  • 홍창호;박홍성
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 2009년도 제40회 하계학술대회
    • /
    • pp.1861_1862
    • /
    • 2009
  • Linux 시스템에서 gdb와 gdbserver를 이용하여 원격지의 대상 프로세스에 대해 호스트 컴퓨터에서 디버깅이 가능하다. 이는 상대적으로 적은 리소스를 가진 원격지 컴퓨터나 임베디드 시스템에서 프로세스를 원격지의 시스템보다 풍부한 리소스를 지닌 호스트 컴퓨터를 통해서 디버깅을 수행함으로써 직접 디버깅을 수행할 때 원격지 시스템에 오는 부하를 줄일 수 있다는 장점이 있다[1]. 하지만 gdb와 gdbserver를 이용한 원격지 디버깅은 gdb가 동작하는 호스트 컴퓨터가 반드시 gdb가 운용 가능한 환경이어야 한다는 점과 디버깅을 수행하기 전 호스트 컴퓨터에 대한 환경 설정에 많은 시간과 노력이 필요하다는 점을 생각했을 때 효율적이지 못하다. 또한 gdb에서 기본적으로 제공하는 사용자 인터페이스가 CLI(Comman Line Interface) 라는 점은 익숙하지 않은 사용자에게 불편함을 안겨줄 수 있다. 본 논문에서는 gdb와 gdbserver의 기본 동작을 웹 인터페이스와 연동함으로써 이러한 문제점에 대한 해결 방안을 제시하고자 한다.

  • PDF

MCM기술을 사용한 ATM용 Swithching칩 구현 (An Implementation of the switching-chip for ATM using the MCM technology)

  • 김남우;이정희;한인탁;윤재석;허창우
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 1999년도 춘계종합학술대회
    • /
    • pp.398-402
    • /
    • 1999
  • 본 논문에서는 MCM기술을 사용한 ATM용 Switching칩을 구현하고, 그 기능을 검증하였다. Switching칩의 MCM구현을 위해 기능 검증 및 상용화가 이루어진 기존 칩들의 VHDL코드를 이용하여 패키지 모델을 생성하였고, 칩의 검증은 VHDL 테스트벡터를 생성하고, 입ㆍ출력 값을 얻었다. 얻은 입력 데이터를 칩 테스트장비에 입력하여 구현된 칩에 넣고 나오는 출력을 벡터 시뮬레이션을 통해 얻은 결과 값과 비교하였다. 다양한 기능의 검증을 위하여 3가지 패턴의 벡터를 생성, 그 성능을 검증하였다. 본 연구에서 생성된 테스트 벡터는 썬 웍스테이션 상에서 Synopsys사의 툴인 vhdl analyzer와 vhdl debugger를 이용하여 simulation하였고, 각 벡터들의 입출력을 텍스트로 얻었다. 그리고 칩의 기능 시험을 위하여 일반적으로 사용되는 Trillium 장비를 사용하였다. 본 연구를 통하여 MCM후에 생성된 벡터의 입ㆍ출력 값과 테스트장비로부터 얻은 출력이 여러 기능들에 대하여 일치됨을 알았다.

  • PDF

OSEK/VDX 기반의 차량 전장용 응용개발도구 설계 및 구현 (Design and Implementation of OSEK/VDX Development Tool for Automotive Applications)

  • 안성호;김재영;김광수
    • 대한임베디드공학회논문지
    • /
    • 제4권2호
    • /
    • pp.84-89
    • /
    • 2009
  • This paper describes the development tool for applications of automotive electronic control unit based on OSEK/VDX. This development tool has a plug-in structure and is written in Java language, because of being based on Eclipse CDT. And also this development tool has another functionality of expansion, which means a special function block can be easily adopted in this development tool. Currently, this development tool consists of five blocks, which are integrated development environment block, fusing program block, system generation block, debugger block, and cross-compiler toolchain block. They have relationship between each other and work for developing OSEK/VDX-based applications. In this paper, we show the functionality of each block of this development tool and its implementation.

  • PDF

내장형 시스템의 효율적인 개발 환경 설계 및 구현 (A Design and Implementation of efficient SDKs for the embedded system)

  • 김성훈;유진호;신형철;하정현;한동원
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2000년도 추계종합학술대회 논문집(3)
    • /
    • pp.105-108
    • /
    • 2000
  • An embedded system is a combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a specific function. In this paper, we design and implement efficient SDKs for the embedded system. When we develop the embedded system, we use the cross development method because of limited resource. Simulator, stub for GDB, and monitor are implemented in order. Simulator consists of 4 threads; CPU, display, I/O, timer thread. Stub is developed to connect GDB. Monitor is programed to improve stub and can debug the application program without the debugger in the host.

  • PDF

분산환경에서 병렬프로그램 재실행을 위한 자바 디버거 (A Java Debugger for Replaying Parallel Programs on a Distributed Environment)

  • 최동순;김남훈;김명호
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.657-659
    • /
    • 2000
  • 네트워크 처리속도의 증가로 네트워크 컴퓨팅 환경에서의 작업이 늘고 있다. 플랫폼 독립성이라는 특성을 내세운 자바는 일반적인 이 기종간의 네트워크에서의 프로그래밍 언어로 많이 이용되고 있다. 그리고 이러한 네트워크 컴퓨팅 환경에서 병렬 프로그램 디버깅의 어려움으로 인해 자바 병렬 프로그램을 위한 디버거의 필요성이 요구되고 있다. 기존의 디버거들은 이런 병렬 환경에서의 디버깅을 각 프로세서에 하나의 순차디버거를 붙인 디버깅 환경을 제공한다. 그러나 병렬 프로그램은 순차프로그램과 다른 재실행시의 비결정적인 특성을 가지고 있음으로 일반적인 순차 디버거를 이용한 디버깅은 의미가 없다. 본 논문에서는 자바로 구현된 네트워크 컴퓨터(JaNeC)에서 병렬프로그램을 디버기하기 위하여 재실행 시 실행 순서를 보장하는 자바 디버거를 소개한다.

  • PDF