Sebagai sysadmin saya terkadang menghadapi situasi, di mana sebuah program berperilaku tidak normal, sementara tidak membuat kesalahan sama sekali atau membuat pesan kesalahan yang tidak masuk akal.
Di masa lalu - sebelum java masuk - ada dua tindakan balasan:
- Jika tidak ada yang membantu - RTFM ;-)
- Jika bahkan 1. tidak membantu - melacak panggilan sistem dan melihat apa yang terjadi
Saya biasanya menggunakan strace -f
untuk tugas ini dengan Linux (OS lain memiliki alat jejak yang serupa). Sekarang sementara ini biasanya bekerja dengan baik untuk program kuno, jejak menjadi sangat kabur ketika melakukan hal yang sama pada proses java . Ada begitu banyak panggilan sistem yang tampaknya tidak terkait dengan tindakan nyata, sehingga sangat mengerikan untuk mencari melalui dump seperti itu.
Adakah cara yang lebih baik untuk melakukan itu (jika kode sumber tidak tersedia)?