透過您的圖書館登入
IP:18.224.246.203
  • 學位論文

Java的靈活多緒除錯器

A Multi-Thread Flexible Debugger for Java

指導教授 : 廖賀田

摘要


在程式的開發環境下,程式員依照規格書寫好主題程式後就會進行測試,如果測試的結果與規格書所載不符時就得進行除錯(debug)。市面上的整合型開發環境(IDE)都內建普通除錯器,普通除錯器是以原始碼的行(line)作為基本除錯單位,因此當錯誤發生在比較複雜的算式之內時,普通除錯器就難以滿足需求。另外除錯器是按照既定的程式流程執行,程式員不能臨時呼叫其他副程式進行測試,只能反覆脫離除錯器以便修改測試原始碼。 本論文提出一個Java的多緒靈活除錯器,內建開架式介面。它以語法樹的語法單元作為基本除錯單位,程式員可以逐語法單元評估每一步的執行結果,還可以自行調整下一步除錯所需的步伐(pace)大小。當主題程式中斷執行時,開架式介面可以支援程式員直接取用執行期的物件資料,或是當下呼叫另外一個副程式。為了確保主題程式可以從中斷狀態恢復執行,程式員所寫的測試碼都以新建的執行緒執行。本系統還提供管理多緒程式的功能,程式員可以利用本系統來對多緒程式進行除錯。

並列摘要


In a program development environment, programmer will test main program after implementation. A debugging process is involved if the test result does not meet the specification. Popular Integrated Development Environment (IDE) normally build-in a common debugger which debugging unit is a line. When program error occurs in a complex expression, the common debugger is hard to meet programmer’s expectation when debugging. The debugger executes code follow by the control flow that is written, the programmer is unable to invoke another testing method while debugging. They have to repeatedly exit executing program, then modify testing code, and run it again. This master thesis proposed a Multi-Thread Flexible Debugger for Java, which build-in Open-Access Interface, and use syntax unit as its debugging unit. Programmer now can execute every single syntax unit, and watch the result. The size of next debugging pace can be adjusted. An Open-Access Interface helps programmer access object data or executes testing codes in the runtime. In order to guarantee the program can be resumed from suspend, all testing code are executed by another new thread, which is managed by multi-thread managing mechanism.

並列關鍵字

Java Debugger Open-Access SyntaxUnit DebuggingPace

參考文獻


[11]Sun Microsystems, Inc., “Java SE Overview”, June 2009 (available online at http://java.sun.com/javase/).
[1]Aho, A. V., Sethi, R., and Ullman, J. D., Compiler Principles, Techniques, and Tools, Addison-Wesley, 1985.
[2]Arnold, K., Gosling J., and Holmes, D., The Java Programming Language 4th edition, Prentice Hall PTR, August 2005.
[3]Beck, K., and Gamma, E., “JUnit Open-Source Testing Framework”, June 2009 (available online at http://www.junit.org).
[4]Eclipse Foundation, “Eclipse and Java: Using the Debugger”, May 2009 (available online at http://eclipsetutorial.sourceforge.net/debugger.html).

延伸閱讀


國際替代計量