2012-06-10 23 views
5

Lý do tôi cần máy ảo HotSpot ở chế độ gỡ lỗi, là tôi muốn một số tùy chọn JVM, như Làm cách nào để cho HotSpot VM ở chế độ gỡ lỗi?

-XX:+PrintCFGFile
, được hỗ trợ.

phiên bản JVM hiện tại của tôi cũng giống như

 
java version "1.6.0_24" 
OpenJDK Runtime Environment (IcedTea6 1.11.1) (suse-3.1-x86_64) 
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode) 

Tôi có phải cài đặt một số công cụ/patch để đạt được điều đó?

Cảm ơn!

Trả lời

4

Sau khi tìm kiếm một thời gian, vấn đề trông rõ ràng hơn bây giờ.

lý do mà tôi không thể sử dụng tùy chọn

-XX:PrintCFGToFile
là bởi vì e JVM tôi đã sử dụng là phiên bản sản phẩm, không phải phiên bản gỡ lỗi.

Tôi đã tìm thấy một trang web cung cấp phiên bản gỡ lỗi của JVM. Dưới đây là liên kết: http://download.java.net/jdk6/6u25/promoted/b03/index.html

Tôi đã thử nghiệm phiên bản

jdk-6u25-ea-bin-b03-windows-i586-debug-27_feb_2011.jar
Nó hoạt động tốt, các tùy chọn tôi đã đề cập ở trên có thể được sử dụng, và một tập tin output.cfg sẽ được sản xuất sau khi thực hiện một chương trình Java.

Sau khi cài đặt, sẽ có một loạt thư mục như vậy \jdk1.6.0_25\fastdebug>. Và tôi nhận được thông tin phiên bản sau:

 
java version "1.6.0_25-ea-fastdebug" 
Java(TM) SE Runtime Environment (build 1.6.0_25-ea-fastdebug-b03) 
Java HotSpot(TM) Client VM (build 20.0-b10-fastdebug, mixed mode) 
-1

Từ hướng dẫn JDB:

"Một VM mà là để được sửa lỗi với JDB phải được bắt đầu với các tùy chọn sau: -agentlib: jdwp = vận chuyển = dt_shmem, server = y, suspend = n"

tải này trong quá trình thư viện gỡ lỗi và quy định cụ thể các loại kết nối được thực hiện."

+0

Tại sao bạn thậm chí còn trả lời câu hỏi này? Ông đang hỏi về việc in ra các biểu đồ biên dịch C1, đòi hỏi một bản xây dựng gỡ lỗi nhanh của HotSpot. Bạn đã cắt và dán một cái gì đó về việc đính kèm các debuggers vào các JVM. – Marcus