jstack(1) Troubleshooting Tools jstack(1)

jstack - چاپ رد پشته نخ‌های جاوا برای یک فرآیند جاوا، پرونده هسته (core) یا سرور اشکال‌زدایی از راه دور

jstack [ options ] pid 
jstack [ options ] executable core
jstack [ options ] [ server-id@ ] remote-hostname-or-IP
گزینه‌های خط فرمان. بخش گزینه‌ها را ببینید.
شناسه فرآیندی که رد پشته برای آن چاپ می‌شود. این فرآیند باید یک فرآیند جاوا باشد. برای دریافت فهرستی از فرآیندهای جاوای در حال اجرا روی سیستم، از دستور jps(1) استفاده کنید.
فایل اجرایی جاوا که تخلیه حافظه (core dump) از آن تولید شده است.
فایل core که باید رد پشته برای آن چاپ شود.
نام میزبان (hostname) یا نشانی IP سرور اشکال‌زدایی از راه دور. راهنمای jsadebugd(1) را ببینید.
شناسه یکتای اختیاری برای استفاده در زمانی که چند سرور اشکال‌زدایی بر روی یک میزبان راه دور یکسان در حال اجرا هستند.

دستور jstack رد پشته‌های نخ‌های جاوا را برای یک فرآیند جاوای مشخص، پرونده core یا سرور اشکال‌زدایی از راه دور چاپ می‌کند. به ازای هر فریم جاوا، نام کامل کلاس، نام متد، نمایه بایت‌کد (BCI) و در صورت وجود، شماره خط چاپ می‌شود. با گزینه -m، دستور jstack هر دو فریم‌های جاوا و بومی (native) همه نخ‌ها را به همراه شمارنده برنامه (PC) چاپ می‌کند. به ازای هر فریم بومی، نزدیک‌ترین نماد بومی به PC (در صورت دردسترس بودن) چاپ می‌شود. نام‌های درهم‌ریخته (mangled) در ++C بازگشایی (demangle) نمی‌شوند. برای بازگشایی نام‌های ++C، می‌توان خروجی این دستور را به c++filt هدایت کرد. هنگامی که فرآیند مشخص‌شده بر روی یک ماشین مجازی جاوای ۶۴ بیتی در حال اجرا است، ممکن است لازم باشد گزینه -J-d64 را مشخص کنید، برای نمونه: jstack -J-d64 -m pid.

نکته: این ابزار آزمایشی بوده و پشتیبانی نمی‌شود و ممکن است در نسخه‌های بعدی JDK در دسترس نباشد. در سیستم‌های ویندوزی که فایل dbgeng.dll وجود ندارد، ابزارهای اشکال‌زدایی برای ویندوز (Debugging Tools For Windows) باید نصب شوند تا این ابزارها کار کنند. متغیر محیطی PATH باید شامل مسیر فایل jvm.dll باشد که توسط فرآیند هدف استفاده می‌شود، یا مسیری که فایل تخلیه خرابی (crash dump) از آن تولید شده است. برای نمونه:

set PATH=<jdk>\jre\bin\client;%PATH%


اجبار به ایجاد تخلیه پشته هنگامی که jstack [-l] pid پاسخ نمی‌دهد.

فهرست‌بندی طولانی. اطلاعات تکمیلی درباره قفل‌ها را چاپ می‌کند، مانند فهرستی از همگام‌سازهای تملک‌پذیر (ownable synchronizers) متعلق به java.util.concurrent. توضیحات کلاس AbstractOwnableSynchronizer را در http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/AbstractOwnableSynchronizer.html ببینید.

چاپ رد پشته حالت ترکیبی که شامل هر دو فریم‌های جاوا و بومی C/C++ است.

چاپ پیام راهنما.

چاپ پیام راهنما.

در رد پشته حالت ترکیبی، گزینه -m با سرور اشکال‌زدایی از راه دور کار نمی‌کند.

•
pstack(1)
•
C++filt(1)
•
jps(1)
•
jsadebugd(1)
21 November 2013 JDK 8