簡易檢索 / 詳目顯示

研究生: 龍驥
論文名稱: 高等電腦輔助除錯工具
High-Level Computer-Aided Debugging Tool
指導教授: 鄭永斌
學位類別: 碩士
Master
系所名稱: 資訊教育研究所
Graduate Institute of Information and Computer Education
論文出版年: 2004
畢業學年度: 92
語文別: 英文
論文頁數: 59
中文關鍵詞: 高階除錯技術
英文關鍵詞: HILCADT
論文種類: 學術論文
相關次數: 點閱:195下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 除錯器是現今寫程式環境中標準的部分,典型的除錯流程包括設定中斷點,逐步前進,觀看變數值等等。大部分的除錯器還包括了圖形使用者介面可以讓使用者用滑鼠並呼叫一些基本的功能。然而,其基本的除錯技術流程還是很少改變,典型的流程是重複相同的步驟像設定中斷點,程式執行到此中斷點,然後印出變數值直到程式的錯誤找到。
    本研究實作了一新系統叫HILCADT,它是一個先進的除錯工具並用JAVA實作,HILCADT提供了一比以往更具意義及更具彈性的高階除錯語言。HILCADT能夠根據使用者所下的查詢來自動設定中斷點並自動繼續執行程式,所以HILCADT可以收集一段時間內變數的變化以作為分析。此外,HILCADT可以把除錯的結果的資料顯示在版面上或者使用DIVINE[11]把結果用3D的環境顯示出來,這個可以幫助使用者更能夠了解複雜的資料結構。

    Nowadays, debuggers are a standard part of every programming environment. Typically debugging functionality includes setting breakpoints, stepping line by line, watching variable values, etc.. Moreover, most debuggers also provide graphical user interface (GUI) which allows users to use mouse and invoke these functionalities. However, the basic of debugging techniques have changed little. A typical routine is to repeat steps such as set breakpoints, run the program to hit the breakpoints, and print variable values until the cause of defect is found.
    HILCADT is a state-of–the–art debugging tool which is implemented in java. It provides a high-level debugging language that is more expressive and flexible than the primitive language of debuggers. HILCADT sets breakpoints and continues programs automatically according to a given expressive query. HILCADT can be used to explore the temporal relation of variable’s values in a period of time and for further analysis. In addition, HILCADT can displays the debugging information on the HILCADT’s panel or uses DIVINE[11] to display debugging information in a 3D environment, which helps users to understand complicated data structure easily.

    Table of Contents Page 1. Introduction 1-1 1.1 Overview……………………………………………………...1-1 1.2 HILCADT–High-Level Computer-Aided Debugging Tool…1-2 2. Background . 2-1 2.1 An overview of debugger . 2-1 2.1.1 Classification………………………………………… …2-2 2.2 An overview of some well-known debuggers . 2-4 2.2.1 GDB…………………………………………………………..2-4 2.2.2 JDB……………………………………………………………2-5 2.2.3 DUEL-A Very High-Level Debugging Language……… 2-6 2.2.4 Dalek…………………………………………………………2-9 2.2.5 MDL……………………………………………………………2-11 3. Debugging Related Java Technology 3-1 3.1 An overview of Java platform debugger architecture 3-1 3.1.1 JVMDI Interface 3-2 3.1.2 JDWP Interface 3-3 3.1.3 JDI Interface………………………………………………3-3 3.2 An overview of Java Compiler Compiler 3-3 3.2.1 Compiler fundamentals 3-4 3.2.2 JavaCC 3-6 4. Design and Implementation of HILCADT–High-Level Computer-Aided Debugging Tool 4-1 4.1 User Interface of HILCADT 4-1 4.2 The high-level debugging language 4-2 4.3 The system architecture… ……………………………4-7 4.4 Communication with visualization subsystem………… 4-10 5. Summary 5-1 5.1 Summary 5-1 5.2 Future works 5-1 References 5-2

    References
    [1]. Richard H. Crawford, Ronald A. Ollsson, W. Wilson Ho, and Christopher E. Wee. Semantic Issue in the Design of Languages for Debugging. Department of Computer Science University of California, Davis Davis, CA 95616-8562 U.S.A.
    [2]. M. Golan and D. R. Hanson. DUEL – a very high level debugging language. In Proceedings of the Winter 1993 USENIX Technical Conference, San Diego, 1993.
    [3]. R. E. Griswold and M. T. Griswold. The Icon Programming Language. Prentice Hall, Englewood Cliffs, NJ, second edition, 1990.
    [4]. J. K. Hollingsworth, B. P. Miller, and J. M. Cargille. Dynamic Program Instrumentation for Scalable Performance Tools. Scalable High Performance Computing Conference, Knoxville, TN (May 1994).
    [5]. J. K. Hollingsworth, B. P. Miller, M. J. R. Goncalves, O. Naim, Z. Xu, and L. Zheng. MDL: A language and compiler for dynamic program instrumentation., International Conference on Parallel Architectures and Compilation Techniques San Francisco, California, November 1997.
    [6]. B. P. Miller, M. D. Callaghan, J. M. Cargille, J. K. Hollingsworth, R. B. Irvin, K. L. Karavanic, K. Kunchithapadam, and Tia Newhall. The Paradyn Parallel Performance Measurement Tools. IEEE computer, (28)11, November 1995.
    [7]. R. A. Olsson, R. H. Crawford, W. W. Ho, Dalek A GNU, improved programmable debugger. In proceedings of the Summer USENIX Technical Conference, pages 221-231, Anaheim, CA, June 1990.
    [8]. R. A. Olsson, R. H. Crawford, W. W. Ho and C. E. Wee, 'Sequential Debugging at a High Level of Abstraction', IEEE Software, May 1991, pp. 27--36.
    [9]. Vern Paxson. A Survey of Support For Implementation Debuggers. CS 262 Prof. Anderson October 30, 1990
    [10]. Jonathan B. Rosenberg, How Debuggers Work: Algorithms, Data Structures, and Architecture. ISBN: 0-471-14966-7 Paperback 272 pages October 1996
    [11]. Peng, Yi-wei. Interactive 3D Debugging Information Visualization for Linked-List Data Structure, (July 2003).

    QR CODE