JHSDB(1) JDK Commands JHSDB(1)

jhsdb-openjdk21 - ابزار دیباگر و تحلیل‌گر وضعیت HotSpot جاوا در OpenJDK 21

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 می‌تواند در هر یک از حالت‌های زیر اجرا شود:

jhsdb clhsdb
دیباگر تعاملی خط فرمان را اجرا می‌کند.
jhsdb hsdb
دیباگر تعاملی گرافیکی (GUI) را اجرا می‌کند.
jhsdb debugd
سرور دیباگ از راه دور را اجرا می‌کند.
jhsdb jstack
اطلاعات پشته (stack) و قفل‌ها را چاپ می‌کند.
jhsdb jmap
اطلاعات هیپ (heap) را چاپ می‌کند.
jhsdb jinfo
اطلاعات پایه JVM را چاپ می‌کند.
jhsdb jsnap
اطلاعات شمارنده‌های کارایی (performance counters) را چاپ می‌کند.
jhsdb command --help
گزینه‌های موجود برای command مورد نظر را نمایش می‌دهد.

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

--flags
فلگ‌های VM را چاپ می‌کند.
--sysprops
ویژگی‌های سیستمی جاوا را چاپ می‌کند.
بدون گزینه
فلگ‌های VM و ویژگی‌های سیستمی جاوا را چاپ می‌کند.

بدون گزینه
اطلاعاتی مشابه با pmap در سولاریس را چاپ می‌کند.
--heap
خلاصه‌ای از وضعیت هیپ java را چاپ می‌کند.
--binaryheap
هیپ java را با قالب باینری hprof ذخیره (dump) می‌کند.
--dumpfile name
نام فایل خروجی ذخیره‌سازی (dumpfile).
--histo
هیستوگرام اشیاء هیپ java را چاپ می‌کند.
--clstats
آمار بارگذار کلاس (class loader) را چاپ می‌کند.
--finalizerinfo
اطلاعات اشیاء در انتظار نهایی‌سازی (finalization) را چاپ می‌کند.

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

--all
تمام شمارنده‌های کارایی را چاپ می‌کند.
2023 JDK 21