JHSDB(1) JDK Commands JHSDB(1)

jhsdb - دیباگر سطح پایین Hotspot برای تحلیل پردازه‌ها و Core Dumpهای جاوا (نسخه ۱۷)

jhsdb clhsdb [--pid pid | --exe executable --core coredump]

jhsdb hsdb [--pid pid | --exe executable --core coredump]

jhsdb debugd (--pid pid | --exe executable --core coredump) [گزینه‌ها]

jhsdb jstack (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [گزینه‌ها]

jhsdb jmap (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [گزینه‌ها]

jhsdb jinfo (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [گزینه‌ها]

jhsdb jsnap (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [گزینه‌ها]

شناسه پردازه‌ای که ابزار jhsdb باید به آن متصل شود. این پردازه باید یک پردازه جاوا باشد. برای دریافت فهرستی از پردازه‌های جاوای در حال اجرا روی سیستم، از دستور ps یا چنانچه پردازه‌های JVM در کانتینر داکر مجزا اجرا نمی‌شوند، از دستور jps استفاده کنید.
فایل اجرایی جاوایی که فایل Core Dump از آن تولید شده است.
فایل Core که ابزار jhsdb باید به آن متصل شود.
[server-id@]debugd-host
یک شناسه اختیاری سرور و نشانی سرور اشکال‌زدایی از راه دور (debugd).
گزینه‌ها
گزینه‌های خط فرمان برای یک حالت از jhsdb. بخش‌های گزینه‌های حالت DEBUGD، گزینه‌های حالت JSTACK، گزینه‌های حالت JMAP، گزینه‌های حالت JINFO و گزینه‌های حالت JSNAP را ببینید.

نکته:

برای حالت‌های debugd، jstack، jmap، jinfo و jsnap باید یا شناسه pid یا جفت فایل‌های executable و core یا نشانی [server-id@]debugd-host مشخص شوند.

می‌توانید از ابزار jhsdb برای اتصال به یک پردازه جاوا یا راه‌اندازی یک دیباگر پس از خرابی (Postmortem) جهت تحلیل محتوای Core Dump حاصل از کرش ماشین مجازی جاوا (JVM) استفاده کنید. این دستور آزمایشی بوده و رسماً پشتیبانی نمی‌شود.

نکته:

اتصال ابزار jhsdb به یک پردازه زنده باعث توقف و فریز شدن (Hang) پردازه می‌شود و با جدا شدن دیباگر، احتمالاً پردازه دچار کرش خواهد شد.

ابزار jhsdb می‌تواند در هر یک از حالت‌های زیر اجرا شود:

دیباگر تعاملی خط فرمان را اجرا می‌کند.
دیباگر تعاملی گرافیکی (GUI) را اجرا می‌کند.
سرور اشکال‌زدایی از راه دور را اجرا می‌کند.
اطلاعات پشته (Stack) و قفل‌ها را چاپ می‌کند.
اطلاعات هیپ (Heap) را چاپ می‌کند.
اطلاعات پایه‌ای JVM را چاپ می‌کند.
اطلاعات شمارنده‌های کارایی (Performance Counters) را چاپ می‌کند.
گزینه‌های موجود برای دستور command را نمایش می‌دهد.

یک شناسه یکتای اختیاری برای این سرور اشکال‌زدایی. در صورتی که چندین سرور اشکال‌زدایی روی یک سیستم اجرا شوند، این گزینه الزامی است.
شماره درگاهی (پورت) را که اتصال RMI به آن متصل می‌شود تنظیم می‌کند. در صورت عدم تعیین، از یک پورت تصادفی در دسترس استفاده می‌شود.
پورت رجیستری RMI را تنظیم می‌کند. این گزینه مشخصه سیستمی 'sun.jvm.hotspot.rmi.port' را بازنویسی می‌کند. در صورت عدم تعیین، از مشخصه سیستمی استفاده می‌شود. اگر مشخصه سیستمی تنظیم نشده باشد، پورت پیش‌فرض 1099 به کار می‌رود.
نام میزبانی (Hostname) را که رابط RMI به آن متصل می‌شود تنظیم می‌کند. این مقدار می‌تواند یک نام میزبان یا یک نشانی IPv4/IPv6 باشد. این گزینه مشخصه سیستمی 'java.rmi.server.hostname' را بازنویسی می‌کند. در صورت عدم تعیین، از مشخصه سیستمی استفاده می‌شود. اگر مشخصه سیستمی تنظیم نشده باشد، از نام میزبان سیستم استفاده می‌شود.

فلگ‌های VM را چاپ می‌کند.
مشخصه‌های سیستمی جاوا را چاپ می‌کند.
بدون گزینه (no option)
فلگ‌های VM و مشخصه‌های سیستمی جاوا را چاپ می‌کند.

بدون گزینه (no option)
اطلاعاتی مشابه با دستور pmap در سولاریس را چاپ می‌کند.
خلاصه‌ای از وضعیت هیپ (Heap) java را چاپ می‌کند.
هیپ java را در قالب باینری hprof ذخیره (Dump) می‌کند.
نام فایل خروجی ذخیره‌سازی (Dumpfile).
هیستوگرام اشیای موجود در هیپ java را چاپ می‌کند.
آمار بارگذار کلاس‌ها (Class Loader) را چاپ می‌کند.
اطلاعات اشیای در انتظار نهایی‌سازی (Finalization) را چاپ می‌کند.

اطلاعات قفل‌های java.util.concurrent را چاپ می‌کند.
در صورت پشتیبانی پلتفرم، تلاش می‌کند هم فریم‌های java و هم فریم‌های بومی (Native) را چاپ کند.

تمام شمارنده‌های کارایی را چاپ می‌کند.
2021 JDK 17