Tôi đã tự hỏi nếu một cái gì đó tồn tại (trong thế giới Java) có thể lấy một bản chụp của hiện trạng JVM với các tính năng sau:Exception Automated Xử lý
- Do nó trong khi một ngoại lệ được ném.
- Ghi lại các biến cục bộ, đối số của phương thức, v.v.
- Đặt tệp này vào một tệp tiện dụng có thể được sử dụng để trích xuất hoặc tạo lại trong IDE tình huống trong mã nguồn của bạn.
Hai tính năng đầu tiên là bắt buộc (thứ ba sẽ là tuyệt vời). Và nó phải phù hợp để sử dụng sản xuất (vì vậy, không có cách nào để gỡ rối).
Trước khi hỏi này tôi đã tìm kiếm thông qua WWW (càng lâu càng tốt) và tôi thấy một số gợi ý:
- Cajoon Interceptor: Như đã nói ở Dzone post, đó là một đại lý JVM thụ động mà thực hiện ba yêu cầu! Nhưng, nó có hai nhược điểm: bạn phải trả tiền cho nó và trang web là xuống (có thể không có cơ hội để trả bất cứ điều gì).
- AviCode Intercept Studio: Tương đương .NET của Cajoon. Chỉ cần cung cấp cho một số cái nhìn sâu sắc về.
- JavaFrame: Ok, đó là một tweet, nhưng nó trỏ đến một repo SVN có sẵn có mã nguồn (theo giấy phép MIT) của một đại lý JVM có vẻ tốt (tôi sẽ cố gắng).
Vì vậy, có thể tôi đang tìm giải pháp không tồn tại? Nó không phải là cấp bách, nhưng tôi đã có ý tưởng này cho một dự án và nó sẽ là tuyệt vời để khám phá con đường "không rõ" (?) Này và nhận được một cái gì đó thực sự.
Có vẻ như rõ ràng rằng đó sẽ là một đại lý JVM (sự kiện ngoại lệ từ JVMTI, cho example).
Cuối cùng, tôi sẽ làm nổi bật đoạn followin từ Wikipedia's Exception Handling article:
Trong môi trường cơ runtime như Java hay .NET, có tồn tại công cụ mà đính kèm để chạy động cơ và mỗi thời điểm đó một ngoại lệ quan tâm xảy ra, họ ghi lại thông tin gỡ lỗi đã tồn tại trong bộ nhớ tại thời gian ngoại lệ được ném (giá trị ngăn xếp cuộc gọi và giá trị đống). Các công cụ này được gọi là các công cụ Tự động Ngoại trừ Xử lý hoặc Lỗi khi bắt buộc và cung cấp thông tin 'nguyên nhân gốc' cho trường hợp ngoại lệ.
Đó là ý tưởng. Tôi hy vọng ai đó có thể cho tôi một số thông tin chi tiết hoặc có thể, trong tương lai, ai đó lấy cảm hứng từ bài viết khiêm tốn này :)
Cảm ơn!
Tôi tò mò muốn biết nếu bạn đã tìm thấy các giải pháp khác. – dsatish