JHSDB(1) JDK Commands JHSDB(1)

jhsdb - اتصال به یک فرایند جاوا یا راه‌اندازی اشکال‌زدا برای تحلیل core dump ناشی از کرش ماشین مجازی جاوا (JVM)

هشدار: زیرفرمان debugd و گزینه‌های --connect منسوخ شده‌اند. آن‌ها در نسخه‌های آینده حذف خواهند شد.

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

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

jhsdb debugd (--pid pid | --exe executable --core coredump) [options]

jhsdb jstack (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

jhsdb jmap (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

jhsdb jinfo (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

jhsdb jsnap (--pid pid | --exe executable --core coredump | --connect [server-id@]debugd-host) [options]

شناسه فرایندی که ابزار jhsdb باید به آن متصل شود. فرایند موردنظر باید یک فرایند جاوا باشد. جهت دریافت فهرست فرایندهای جاوای در حال اجرا روی یک سیستم، از دستور ps یا، در صورتی که فرایندهای JVM در نمونه مجزای docker اجرا نمی‌شوند، از دستور 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 debugger) جهت تحلیل محتوای core dump ناشی از کرش یک ماشین مجازی جاوا (JVM) استفاده کنید. این دستور آزمایشی بوده و پشتیبانی نمی‌شود.

نکته:

اتصال ابزار jhsdb به یک فرایند در حال اجرا، موجب متوقف شدن آن فرایند می‌شود و احتمالاً با جدا شدن (detach) اشکال‌زدا، فرایند کرش خواهد کرد.

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

اشکال‌زدای تعاملی خط فرمان را اجرا می‌کند.
اشکال‌زدای تعاملی گرافیکی (GUI) را اجرا می‌کند.
سرور اشکال‌زدایی از راه دور را اجرا می‌کند.
اطلاعات پشته (stack) و قفل‌ها را چاپ می‌کند.
اطلاعات حافظه هیپ (heap) را چاپ می‌کند.
اطلاعات پایه‌ای JVM را چاپ می‌کند.
اطلاعات شمارنده‌های عملکرد (performance counters) را چاپ می‌کند.
گزینه‌های موجود برای دستور command را نمایش می‌دهد.

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

پرچم‌های VM را چاپ می‌کند.
مشخصه‌های سیستمی جاوا را چاپ می‌کند.
بدون گزینه
پرچم‌های VM و مشخصه‌های سیستمی جاوا را چاپ می‌کند.

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

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

تمام شمارنده‌های عملکرد را چاپ می‌کند.
2026 JDK 26.0.2.1