Thông thường để đính kèm trình gỡ lỗi vào jvm đang chạy, bạn sẽ cần bắt đầu jvm với các đối số như sau:
> java -Xdebug -Xrunjdwp:transport=dt_socket,address=1000,server=y,suspend=n
Bây giờ, nếu tôi muốn gỡ lỗi một quá trình chưa được bắt đầu ở chế độ gỡ lỗi, tôi có thể làm gì?
Tình huống này xảy ra khi một hệ thống sản xuất (tức là bắt đầu mà không có các vòng gỡ lỗi) hiển thị một lỗi 'ngẫu nhiên' (tôi sử dụng thuật ngữ này một cách lỏng lẻo). Vì vậy, tôi không thể khởi động lại jvm với các đối số thích hợp, vì không ai biết cách tạo lại lỗi một lần nữa. Không thể gắn vào JVM trong tình huống này?
Chỉ cần làm rõ rằng không thể sử dụng các công cụ như jdb để đính kèm vào các JVM đã chạy trừ khi chúng được khởi động ở chế độ gỡ lỗi
từ trang người đàn ông JVM
Một cách khác để sử dụng jdb là gắn nó vào một máy ảo Java đang chạy. Một máy ảo được gỡ lỗi bằng jdb phải được khởi động với các tùy chọn sau: