java異常堆棧中的Unknown source

來源:互聯網
上載者:User

  最近做完一個項目的Demo版本,將應用程式deploy到伺服器上。運行一段時間後,把相關的日誌從伺服器load下來,發現異常堆棧資訊裡,沒有相應的程式碼號。只顯示Unknown source.這對我們定位問題相當麻煩。

  應用程式是用ant編譯的,於是股溝了一下,發是用ant編譯Java程式與javac編譯是有些差別的。當通過javac編譯時間,預設相當於指定-g:source,lines,這樣編譯出來的class檔案中會包含原始碼和行號資訊;而通過ant編譯時間,預設相當於指定-g:none,這樣編譯出來的class檔案會比較小,但是不包含任何調試資訊,所以出錯的時候就不會帶行號等資訊。

  所以用ant編譯時間,加上debug="true" debuglevel="source,lines,vars"就可以了,樣本如下:

  

1 <javac destdir="${build.classes}" srcdir="${src.java}"classpathref="lib.classpath" encoding="utf-8" debug="true" debuglevel="source,lines,vars"/>  

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.