| zshdb(1) | User Contributed Perl Documentation | zshdb(1) |
نام (NAME)
zshdb - اشکالزدای zsh
خلاصه دستور (SYNOPSIS)
zshdb [options] [--] script-name [script options]
zshdb [options] -c execution-string
توضیحات (DESCRIPTION)
اسکریپت "zshdb" یک اسکریپت zsh است که شرایط را برای اشکالزدایی از یک اسکریپت zsh دیگر فراهم میکند. این اشکالزدا دارای رابط دستوری مشابه با gdb(1) است.
اگر از اسکریپت zshdb استفاده میکنید و نیاز است گزینههایی را به اسکریپت تحت اشکالزدایی ارسال کنید، علامت "--" را قبل از نام اسکریپت اضافه کنید. این کار به zshdb اعلام میکند که نباید هیچ گزینهٔ دیگری را پردازش کند.
گزینهها (OPTIONS)
- -h | --help
- پیام راهنمای استفاده را در خطای استاندارد چاپ میکند و با کد بازگشتی ۱۰۰ خارج میشود.
- -A | --annotation level
- اطلاعات
تکمیلی
پشته و
وضعیت را در
خروجی
تنظیم
میکند که
به
پیشنماهایی
(front-end) نظیر emacs
امکان
میدهد
بدون نیاز
به بررسی
مداوم (polling)،
رویدادها
را ردیابی
کنند.
این گزینه برای آزمونهای رگرسیون مورد نیاز است. استفاده از این گزینه معادل اجرای دستور زیر درون اشکالزدا است:
set annotation LEVEL
درون اشکالزدا.
- -B | --basename
- در جاهایی
که نام فایل
در خروجی
اشکالزدا
ظاهر
میشود،
فقط نام
پایه (basename) را
ارائه
میدهد. این
گزینه برای
آزمونهای
رگرسیون
مورد نیاز
است.
استفاده از
این گزینه
معادل
اجرای
دستور زیر
درون
اشکالزدا
است:
set basename on
درون اشکالزدا.
- -n | --nx | --no-init
- بهطور
معمول
اشکالزدا
پیش از
پذیرش
تعامل
کاربر، در
صورت وجود
فایل
"~/.zshdbinit"
دستورهای
اشکالزدا
را از آن
میخواند.
فایل
".zshdbinit"
مشابه
".perldb" در Perl
یا ".gdbinit"
در GNU gdb است:
کاربر ممکن
است بخواهد
چنین
نمایهٔ
اشکالزدایی
را ایجاد
کند تا
سفارشیسازیهای
گوناگون مد
نظر خود را
به آن
بیفزاید.
با استفاده از گزینهٔ "-n" این فایل مقداردهی اولیه خوانده نخواهد شد. این مورد در آزمونهای رگرسیون یا برای ردیابی اشکال در نمایهٔ ".zshdbinit" کاربر مفید است.
- -c | --command command-string
- به جای مشخص کردن نام یک فایل اسکریپت، میتوان یک رشتهٔ اجرایی را برای اشکالزدایی تعیین کرد. از این گزینه برای انجام این کار استفاده کنید.
- -q | --quiet
- اطلاعات مقدماتی نسخه و کپیرایت را چاپ نمیکند. این گزینه نیز در آزمونهای رگرسیون که در آنها نمیخواهیم تاریخ متغیر کپیرایت در انطباق آزمونهای رگرسیون وارد شود، مفید است.
- -x | --eval-command debugger-cmdfile
- دستورهای اشکالزداییِ موجود در debugger-cmdfile را پیش از پذیرش ورودی کاربر اجرا میکند. با این حال، این دستورها پس از هرگونه دستورات ".zshdbinit" خوانده میشوند. این گزینه نیز هنگام اجرای اسکریپتهای اشکالزدایی برای آزمون رگرسیون مفید است.
- -L | --library debugger-library
- اشکالزدا نیاز دارد تعدادی تابع را بارگذاری یا ضمیمه (source/include) کند و این توابع در یک کتابخانه قرار دارند. اگر این گزینه داده نشود، مکان پیشفرض کتابخانه نسبت به اسکریپت نصبشدهٔ zshdb عبارت است از: "../lib/zshdb".
- -T | --tempdir temporary-file-directory
- اشکالزدا باید برای ذخیرهٔ اطلاعات پایدار هنگام بازگشت از زیرپوسته (subshell) یا جهت ارزیابی یک عبارت، از مقداری فضای ذخیرهسازی موقت در سیستمفایل استفاده کند. دایرکتوری پیشفرض "/tmp" است، اما با استفاده از این گزینه میتوانید دایرکتوری ایجاد فایلهای موقت اشکالزدا را مشخص کنید.
- -t | --tty tty-name
- خروجی اشکالزدا معمولاً به یک ترمینال ارسال میشود، نه به stdout یا stdin که ممکن است توسط برنامهٔ در حال اشکالزدایی استفاده شوند. تعیین tty یا شبهtty معمولاً بهطور خودکار انجام میگیرد. با این حال، اگر میخواهید مقصد خروجی اشکالزدا را کنترل کنید، از این گزینه استفاده نمایید.
- -V | --version
- شمارهٔ نسخه و عدم وجود گارانتی را نمایش میدهد و با کد بازگشتی ۱ خارج میشود.
گزارش باگها (BUGS)
نحوهٔ سازماندهی اشکالزدایی توسط این اسکریپت به این صورت است که ابتدا کدهای پشتیبانی اشکالزدایی را ضمیمه (یا در واقع «source») میکند و سپس اسکریپت یا رشتهٔ دستوری دادهشده را منبعیابی (source) مینماید.
یک مشکل در source کردن اسکریپت تحت اشکالزدایی این است که نام برنامه ذخیرهشده در $0 نام اسکریپت مورد نظر برای اشکالزدایی نخواهد بود. اسکریپت تحت اشکالزدایی در پشتهٔ فراخوانی (call stack) نه به عنوان بالاترین مورد، بلکه به عنوان موردِ پایینتر از "zshdb" نمایش داده خواهد شد.
گزینهٔ اسکریپت "zshdb" فرض را بر این میگذارد که نسخهٔ zsh از اشکالزدایی پشتیبانی میکند، یعنی نسخهٔ zsh 4.3.6-dev-2 یا جدیدتر.
اشکالزدا کارها را کمی کند میکند، زیرا اشکالزدا باید هر دستور را رهگیری کند و بررسی نماید که آیا نیاز به انجام اقدامی هست یا خیر.
همچنین ببینید (SEE ALSO)
- http://bashdb.sourceforge.net/bashdb.html - تا زمانی که یک راهنمای کامل نوشته شود، این راهنما برای اشکالزدای مشابه bash ممکن است رهنمودهایی ارائه دهد. این دو اشکالزدا دارای رابط دستوری (و کدهای) مشابهی هستند.
- http://bashdb.sourceforge.net - صفحهٔ اصلی پروژه برای خانوادهٔ اشکالزداهای zshdb و bashdb.
نویسندگان (AUTHORS)
نسخهٔ کنونی توسط Rocky Bernstein نگهداری میشود (یا نمیشود).
کپیرایت و تکثیر (COPYRIGHT)
Copyright (C) 2009 Rocky Bernstein This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program 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 for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
| 2026-04-09 | 1.1.4dev |