.\" Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved. .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. .\" .\" This code is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License version 2 only, as .\" published by the Free Software Foundation. .\" .\" This code is distributed in the hope that it will be useful, but WITHOUT .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" version 2 for more details (a copy is included in the LICENSE file that .\" accompanied this code). .\" .\" You should have received a copy of the GNU General Public License version .\" 2 along with this work; if not, write to the Free Software Foundation, .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. .\" .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA .\" or visit www.oracle.com if you need additional information or have any .\" questions. .\" .\" Automatically generated by Pandoc 2.3.1 .\" .TH "JHSDB" "1" "2021" "JDK 17" "JDK Commands" .hy .SH "نام (NAME)" .PP jhsdb \- دیباگر سطح پایین Hotspot برای تحلیل پردازه‌ها و Core Dumpهای جاوا (نسخه ۱۷) .SH "خلاصه دستور (SYNOPSIS)" .PP \f[CB]jhsdb\f[R] \f[CB]clhsdb\f[R] [\f[CB]\-\-pid\f[R] \f[I]pid\f[R] | \f[CB]\-\-exe\f[R] \f[I]executable\f[R] \f[CB]\-\-core\f[R] \f[I]coredump\f[R]] .PP \f[CB]jhsdb\f[R] \f[CB]hsdb\f[R] [\f[CB]\-\-pid\f[R] \f[I]pid\f[R] | \f[CB]\-\-exe\f[R] \f[I]executable\f[R] \f[CB]\-\-core\f[R] \f[I]coredump\f[R]] .PP \f[CB]jhsdb\f[R] \f[CB]debugd\f[R] (\f[CB]\-\-pid\f[R] \f[I]pid\f[R] | \f[CB]\-\-exe\f[R] \f[I]executable\f[R] \f[CB]\-\-core\f[R] \f[I]coredump\f[R]) [\f[I]گزینه‌ها\f[R]] .PP \f[CB]jhsdb\f[R] \f[CB]jstack\f[R] (\f[CB]\-\-pid\f[R] \f[I]pid\f[R] | \f[CB]\-\-exe\f[R] \f[I]executable\f[R] \f[CB]\-\-core\f[R] \f[I]coredump\f[R] | \f[CB]\-\-connect\f[R] \f[I][server\-id\@]debugd\-host\f[R]) [\f[I]گزینه‌ها\f[R]] .PP \f[CB]jhsdb\f[R] \f[CB]jmap\f[R] (\f[CB]\-\-pid\f[R] \f[I]pid\f[R] | \f[CB]\-\-exe\f[R] \f[I]executable\f[R] \f[CB]\-\-core\f[R] \f[I]coredump\f[R] | \f[CB]\-\-connect\f[R] \f[I][server\-id\@]debugd\-host\f[R]) [\f[I]گزینه‌ها\f[R]] .PP \f[CB]jhsdb\f[R] \f[CB]jinfo\f[R] (\f[CB]\-\-pid\f[R] \f[I]pid\f[R] | \f[CB]\-\-exe\f[R] \f[I]executable\f[R] \f[CB]\-\-core\f[R] \f[I]coredump\f[R] | \f[CB]\-\-connect\f[R] \f[I][server\-id\@]debugd\-host\f[R]) [\f[I]گزینه‌ها\f[R]] .PP \f[CB]jhsdb\f[R] \f[CB]jsnap\f[R] (\f[CB]\-\-pid\f[R] \f[I]pid\f[R] | \f[CB]\-\-exe\f[R] \f[I]executable\f[R] \f[CB]\-\-core\f[R] \f[I]coredump\f[R] | \f[CB]\-\-connect\f[R] \f[I][server\-id\@]debugd\-host\f[R]) [\f[I]گزینه‌ها\f[R]] .TP .B \f[I]pid\f[R] شناسه پردازه‌ای که ابزار \f[CB]jhsdb\f[R] باید به آن متصل شود. این پردازه باید یک پردازه جاوا باشد. برای دریافت فهرستی از پردازه‌های جاوای در حال اجرا روی سیستم، از دستور \f[CB]ps\f[R] یا چنانچه پردازه‌های JVM در کانتینر داکر مجزا اجرا نمی‌شوند، از دستور \f[B]jps\f[R] استفاده کنید. .RS .RE .TP .B \f[I]executable\f[R] فایل اجرایی جاوایی که فایل Core Dump از آن تولید شده است. .RS .RE .TP .B \f[I]coredump\f[R] فایل Core که ابزار \f[CB]jhsdb\f[R] باید به آن متصل شود. .RS .RE .TP .B \f[I][server\-id\@]debugd\-host\f[R] یک شناسه اختیاری سرور و نشانی سرور اشکال‌زدایی از راه دور (debugd). .RS .RE .TP .B \f[I]گزینه‌ها\f[R] گزینه‌های خط فرمان برای یک حالت از \f[CB]jhsdb\f[R]. بخش‌های \f[B]گزینه‌های حالت DEBUGD\f[R]، \f[B]گزینه‌های حالت JSTACK\f[R]، \f[B]گزینه‌های حالت JMAP\f[R]، \f[B]گزینه‌های حالت JINFO\f[R] و \f[B]گزینه‌های حالت JSNAP\f[R] را ببینید. .RS .RE .PP \f[B]نکته:\f[R] .PP برای حالت‌های \f[CB]debugd\f[R]، \f[CB]jstack\f[R]، \f[CB]jmap\f[R]، \f[CB]jinfo\f[R] و \f[CB]jsnap\f[R] باید یا شناسه \f[I]pid\f[R] یا جفت فایل‌های \f[I]executable\f[R] و \f[I]core\f[R] یا نشانی \f[I][server\-id\@]debugd\-host\f[R] مشخص شوند. .SH "توضیحات (DESCRIPTION)" .PP می‌توانید از ابزار \f[CB]jhsdb\f[R] برای اتصال به یک پردازه جاوا یا راه‌اندازی یک دیباگر پس از خرابی (Postmortem) جهت تحلیل محتوای Core Dump حاصل از کرش ماشین مجازی جاوا (JVM) استفاده کنید. این دستور آزمایشی بوده و رسماً پشتیبانی نمی‌شود. .PP \f[B]نکته:\f[R] .PP اتصال ابزار \f[CB]jhsdb\f[R] به یک پردازه زنده باعث توقف و فریز شدن (Hang) پردازه می‌شود و با جدا شدن دیباگر، احتمالاً پردازه دچار کرش خواهد شد. .PP ابزار \f[CB]jhsdb\f[R] می‌تواند در هر یک از حالت‌های زیر اجرا شود: .TP .B \f[CB]jhsdb\ clhsdb\f[R] دیباگر تعاملی خط فرمان را اجرا می‌کند. .RS .RE .TP .B \f[CB]jhsdb\ hsdb\f[R] دیباگر تعاملی گرافیکی (GUI) را اجرا می‌کند. .RS .RE .TP .B \f[CB]jhsdb\ debugd\f[R] سرور اشکال‌زدایی از راه دور را اجرا می‌کند. .RS .RE .TP .B \f[CB]jhsdb\ jstack\f[R] اطلاعات پشته (Stack) و قفل‌ها را چاپ می‌کند. .RS .RE .TP .B \f[CB]jhsdb\ jmap\f[R] اطلاعات هیپ (Heap) را چاپ می‌کند. .RS .RE .TP .B \f[CB]jhsdb\ jinfo\f[R] اطلاعات پایه‌ای JVM را چاپ می‌کند. .RS .RE .TP .B \f[CB]jhsdb\ jsnap\f[R] اطلاعات شمارنده‌های کارایی (Performance Counters) را چاپ می‌کند. .RS .RE .TP .B \f[CB]jhsdb\f[R] \f[I]command\f[R] \f[CB]\-\-help\f[R] گزینه‌های موجود برای دستور \f[I]command\f[R] را نمایش می‌دهد. .RS .RE .SH "گزینه‌های حالت DEBUGD (OPTIONS FOR THE DEBUGD MODE)" .TP .B \f[CB]\-\-serverid\f[R] \f[I]server\-id\f[R] یک شناسه یکتای اختیاری برای این سرور اشکال‌زدایی. در صورتی که چندین سرور اشکال‌زدایی روی یک سیستم اجرا شوند، این گزینه الزامی است. .RS .RE .TP .B \f[CB]\-\-rmiport\f[R] \f[I]port\f[R] شماره درگاهی (پورت) را که اتصال RMI به آن متصل می‌شود تنظیم می‌کند. در صورت عدم تعیین، از یک پورت تصادفی در دسترس استفاده می‌شود. .RS .RE .TP .B \f[CB]\-\-registryport\f[R] \f[I]port\f[R] پورت رجیستری RMI را تنظیم می‌کند. این گزینه مشخصه سیستمی \[aq]sun.jvm.hotspot.rmi.port\[aq] را بازنویسی می‌کند. در صورت عدم تعیین، از مشخصه سیستمی استفاده می‌شود. اگر مشخصه سیستمی تنظیم نشده باشد، پورت پیش‌فرض 1099 به کار می‌رود. .RS .RE .TP .B \f[CB]\-\-hostname\f[R] \f[I]hostname\f[R] نام میزبانی (Hostname) را که رابط RMI به آن متصل می‌شود تنظیم می‌کند. این مقدار می‌تواند یک نام میزبان یا یک نشانی IPv4/IPv6 باشد. این گزینه مشخصه سیستمی \[aq]java.rmi.server.hostname\[aq] را بازنویسی می‌کند. در صورت عدم تعیین، از مشخصه سیستمی استفاده می‌شود. اگر مشخصه سیستمی تنظیم نشده باشد، از نام میزبان سیستم استفاده می‌شود. .RS .RE .SH "گزینه‌های حالت JINFO (OPTIONS FOR THE JINFO MODE)" .TP .B \f[CB]\-\-flags\f[R] فلگ‌های VM را چاپ می‌کند. .RS .RE .TP .B \f[CB]\-\-sysprops\f[R] مشخصه‌های سیستمی جاوا را چاپ می‌کند. .RS .RE .TP .B بدون گزینه (no option) فلگ‌های VM و مشخصه‌های سیستمی جاوا را چاپ می‌کند. .RS .RE .SH "گزینه‌های حالت JMAP (OPTIONS FOR THE JMAP MODE)" .TP .B بدون گزینه (no option) اطلاعاتی مشابه با دستور \f[CB]pmap\f[R] در سولاریس را چاپ می‌کند. .RS .RE .TP .B \f[CB]\-\-heap\f[R] خلاصه‌ای از وضعیت هیپ (Heap) \f[CB]java\f[R] را چاپ می‌کند. .RS .RE .TP .B \f[CB]\-\-binaryheap\f[R] هیپ \f[CB]java\f[R] را در قالب باینری \f[CB]hprof\f[R] ذخیره (Dump) می‌کند. .RS .RE .TP .B \f[CB]\-\-dumpfile\f[R] \f[I]name\f[R] نام فایل خروجی ذخیره‌سازی (Dumpfile). .RS .RE .TP .B \f[CB]\-\-histo\f[R] هیستوگرام اشیای موجود در هیپ \f[CB]java\f[R] را چاپ می‌کند. .RS .RE .TP .B \f[CB]\-\-clstats\f[R] آمار بارگذار کلاس‌ها (Class Loader) را چاپ می‌کند. .RS .RE .TP .B \f[CB]\-\-finalizerinfo\f[R] اطلاعات اشیای در انتظار نهایی‌سازی (Finalization) را چاپ می‌کند. .RS .RE .SH "گزینه‌های حالت JSTACK (OPTIONS FOR THE JSTACK MODE)" .TP .B \f[CB]\-\-locks\f[R] اطلاعات قفل‌های \f[CB]java.util.concurrent\f[R] را چاپ می‌کند. .RS .RE .TP .B \f[CB]\-\-mixed\f[R] در صورت پشتیبانی پلتفرم، تلاش می‌کند هم فریم‌های \f[CB]java\f[R] و هم فریم‌های بومی (Native) را چاپ کند. .RS .RE .SH "گزینه‌های حالت JSNAP (OPTIONS FOR THE JSNAP MODE)" .TP .B \f[CB]\-\-all\f[R] تمام شمارنده‌های کارایی را چاپ می‌کند. .RS .RE