java菜鳥快速上手指南

來源:互聯網
上載者:User

在最簡陋的開發環境下如何編寫調試一個hello world程式。

適用於對java文法一無所知的菜鳥程式員,或者只想寫代碼但對物件導向沒興趣的程式員

開發環境,只要你安裝了java sdk即可

原始碼hello.java:

public class hello{
public static void main(String[] args)
{
System.out.println("hello world"); }
}

編譯:

>javac hello.java

或者

>javac -g hello.java。

-g表示產生的目標檔案帶有偵錯符號(推薦,因為後面使用jdb調試代碼需要這些符號)。編譯出來的目標檔案為hello.class

運行:

>java -cp . hello

注意hello後面不需要帶.class尾碼名。

調試:

進入hello.class和hello.java所在目錄。

>jdb -classpath . hello

進入了jdb的互動的調試環境

在函數main中設定斷點:

>stop in hello.main

jdb顯示提示資訊:

Deferring breakpoint main.hello.

It will be set after the class is loaded.

上面的hello是類名,也就是hello.class中的hello,hello.java中的hello。main是函數名。如果在hello.java的第一行中有"package any_namespace;"語句,正確的類名就是any_namespace.main,那麼在jdb中設定斷點的語句為:

>stop in any_namespace.hello.main

設定完斷點後運行程式:

>run

可以看到jdb運行到斷點所在位置停了下來。設定斷點到類hello(在java中,類名和檔案名稱實際上是一個意思)第3行的語句為:

>stop at hello:3

顯示運算式的語句為print variable_name,顯示當前呼叫堆疊的語句為where,單步調試的語句為next或者step(我想next和step的區別不用我多羅嗦了),顯示當前代碼的語句為list。要看jdb的線上協助,輸入help(聊勝於無的協助而已)。

use命令為偵錯符號指定所對應的原始碼檔案的搜尋路徑,如果我們刪除hello.java,然後重新啟動jdb,設定斷點,運行hello,jdb會報告"Source file not found: hello.java",這時候輸入use,可以看到當前的原始碼搜尋路徑為".",如果將hello.java拷貝到父目錄,然後輸入命令"use .;..",告訴jdb不僅去目前的目錄搜尋hello.java,也要到父目錄搜尋hello.java,再輸入list命令,現在可以看到jdb正確地顯示了原始碼。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.