Tôi đã dành 4 giờ đồng hồ cố gắng thiết lập bộ nhớ TPTP Eclipse lược tả trên một cá thể Tomcat phải chạy từ xa (tức là không ở Eclipse). Điều này có thể được thực hiện theo TPTP và Đại lý Tài liệu điều khiển.Java JVMTI không hoạt động cùng với -Xdebug -Xrunjdwp
Tôi đã cài đặt các thành phần TPTP (4.6.0) vào bàn làm việc Eclipse (Galileo) , cùng với Bộ điều khiển tác nhân theo hướng dẫn trên trang web. Để kích hoạt các đại lý, tôi đã thêm các tùy chọn sau để dòng lệnh mà bắt đầu dụ Tomcat:
-agentlib:JPIBootLoader=JPIAgent:server=enabled;HeapProf:allocsites=true
và thêm vào các thư mục sau vào phía trước của PATH:
D:\dev\tools\ac\plugins\org.eclipse.tptp.javaprofiler
D:\dev\tools\ac\bin
Khi cố gắng để bắt đầu Tomcat Tôi liên tục nhận được thông báo lỗi sau đây :
ERROR: JDWP unable to get necessary JVMTI capabilities. ["debugInit.c",L279]
Tôi đã làm rất nhiều Googling nhưng không tìm thấy gì liên quan nt; Tôi đã thử cài đặt lại TPTP và các phiên bản khác nhau của Trình điều khiển tác nhân.
Cuối cùng vấn đề bật ra được rằng tôi đã bắt đầu Tomcat với tùy chọn "jpda", mà catalina.bat chuyển thành
-Xdebug -Xrunjdwp:transport=.....
Loại bỏ các "jpda" tranh cãi lệnh gây ra JVMTI để bắt đầu đang làm việc.
SO, câu hỏi là: Tôi không tìm thấy gì trong bất kỳ tìm kiếm nào của tôi tới cho biết rằng đại lý JVMTI không tương thích với gỡ lỗi. Có thể ai đó giải thích những gì đang diễn ra và tại sao JVMTI + JDWP không phải là thiết lập hợp lệ ?
vì vậy, có thể sử dụng gỡ lỗi từ xa với lược tả cùng một lúc không? –
@michael Tôi tin như vậy, nhưng trừ khi bạn đang cố gắng bắt chước một số điều kiện lạ trong nỗ lực tái tạo rò rỉ bộ nhớ hoặc tăng đột biến CPU khổng lồ, không định hình trong khi gỡ lỗi âm thanh như một ý tưởng tồi? –
Câu trả lời hay. Đã nhận được lỗi này. Tôi đã phải vô hiệu hóa chế độ gỡ lỗi trên Sun App Server cổ xưa của tôi trước khi tôi có thể có được cấu hình Profiler YourKit để làm việc với nó. Cảm ơn bạn! – jlpp