| GAMMARAY(1) | KDAB | GAMMARAY(1) |
نام (NAME)
GammaRay - ابزار بررسی و دستکاری برنامههای Qt
خلاصه دستور (SYNOPSIS)
gammaray [--pid <pid> | <application> <args> | --connect <host>[:<port>]
توضیحات (DESCRIPTION)
ابزار GammaRay
ساختارها و
ویژگیهای
درونی یک
برنامهٔ Qt را
در زمان
اجرا بررسی
میکند،
مواردی از
قبیل:
درخت اشیاء
(Object tree)،
ویژگیها
(properties)،
سیگنالها/اسلاتها
(signal/slots)،
ویجتها،
مدلها،
نماهای
گرافیکی (graphics
views)،
اشکالزدای
جاوااسکریپت،
منابع (resources)،
ماشینهای
حالت (state machines)،
انواع
فراداده (meta
types)، قلمها،
کدکها (codecs)،
اسناد
متنی
هنگامی که بدون هیچ گزینهای اجرا شود، gammaray فهرستی از برنامههای Qt در حال اجرا را نمایش میدهد که میتوانید تزریقکنندهٔ (injector) انتخابشده را به آنها متصل کنید. در غیر این صورت، میتوانید با مشخص کردن pid به یک فرایند در حال اجرا متصل شوید، یا با مشخص کردن نام یک برنامهٔ Qt جدید (و آرگومانهای اختیاری)، آن را اجرا کنید.
گزینهها (OPTIONS)
- --help
- نمایش پیام راهنما و خروج.
- --version
- نمایش اطلاعات نسخه و خروج.
- -p, --pid <pid>
- اتصال به برنامهٔ Qt در حال اجرا با pid مشخصشده.
- -i, --injector <injector>
- تنظیم نوع
تزریقکنندهٔ
(injector)
مشخصشده.
تزریقکنندههای پشتیبانیشده عبارتند از:
preload (لینوکس، Mac OS)
gdb (لینوکس، نیازمند نصب بودن gdb است)
lldb (لینوکس، Mac OS، نیازمند نصب بودن lldb است)
style
windll (ویندوز) - --inprocess
- استفاده از رابط کاربری درونفرایندی (in-process UI) مربوط به Gammaray 1.x. این مورد در بیشتر سناریوها لازم نیست، به جز هنگام استفاده از ابزارهایی که از راه دور کار نمیکنند.
- --inject-only
- تنها کاوشگر (probe) گاماری را به یک فرایند تزریق میکند، اما رابط کاربری GammaRay را اجرا نمیکند. این گزینه برای مثال هنگام اشکالزدایی از راه دور روی دستگاههای تعبیهشده (embedded devices) مفید است.
- --listen <address>
- مشخص میکند که سرور GammaRay روی کدام آدرس شبکه باید شنود کند؛ پیشفرض GAMMARAY_DEFAULT_ANY_TCP_URL است (یعنی tcp://0.0.0.0 برای همهٔ آدرسهای ipv4؛ استفاده از tcp://[::] برای همهٔ آدرسهای ipv6). برای نمونه میتوان در ویندوز از این گزینه استفاده کرد تا در صورتی که به دسترسی از راه دور نیازی ندارید، با تنظیم آدرس روی 127.0.0.1 از هشدارهای فایروال جلوگیری شود.
- --no-listen
- سرور GammaRay را غیرفعال میکند. این گزینه مستلزم --inprocess است، زیرا در این حالت راه دیگری برای اتصال به کاوشگر GammaRay وجود ندارد.
- --list-probes
- فهرست کردن تمام کاوشگرهای (probes) نصبشده.
- --probe <abi>
- مشخص کردن صریح کاوشگری که باید استفاده شود. اگر بیش از یک کاوشگر نصب دارید (برای مثال یکی برای Qt4 و یکی برای Qt5)، تا زمانی که تشخیص خودکار ABI کاوشگر پیادهسازی شود، باید از این گزینه استفاده کنید.
- --connect <host[:port]>
- اتصال به هدفی که از قبل کاوشگر GammaRay به آن تزریق شده است. برای مثال هنگام اشکالزدایی از راه دور مفید است.
- --self-test [injector]
- اجرای
خودآزماییهای
GammaRay؛ اگر یک
تزریقکننده
مشخص شده
باشد، تنها
همان مورد
آزمایش
خواهد شد.
کد خروج در صورت موفقیت 0 و در غیر این صورت 1 است.
مثالها (EXAMPLES)
- اجرای gammaray روی برنامهٔ Qt با نام "qtfoo" همراه با آرگومانهای خط فرمان 'arg1' و 'arg2':
-
% gammaray /path/to/qtfoo arg1 arg2
- اجرای gammaray روی برنامهٔ Qt در حال اجرا با pid 1234:
-
% gammaray --pid 1234
- اجرای gammaray با تزریقکنندهٔ gdb روی برنامهٔ Qt در حال اجرا با pid 1234:
-
% gammaray --injector gdb --pid 1234
وضعیت خروج (EXIT STATUS)
در شرایط عادی با مقدار 0 خارج میشود؛ در غیر این صورت، با یک عدد صحیح مثبت خارج میشود که نشاندهندهٔ بروز مشکل هنگام راهاندازی یا اتصال یک تزریقکننده است.
کپیرایت و تکثیر (COPYRIGHT)
کپیرایت (C) 2010-2023 متعلق به شرکت Klaralvdalens Datakonsult AB از گروه KDAB، <info@kdab.com>
دارندگان مجوز تجاری معتبر KDAB GammaRay میتوانند از این فایل مطابق با توافقنامهٔ مجوز تجاری GammaRay ارائه شده همراه با نرمافزار استفاده کنند.
در صورتی که هر یک از شرایط این مجوز برای شما روشن نیست، با info@kdab.com تماس بگیرید.
این برنامه یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) طبق آنچه توسط بنیاد نرمافزارهای آزاد (Free Software Foundation) منتشر شده است—چه نسخهٔ ۲ مجوز و چه (به انتخاب خودتان) هر نسخهٔ بالاتر بعدی—بازتوزیع کرده یا تغییر دهید.
این برنامه با این امید توزیع میشود که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.
شما باید به همراه این برنامه یک نسخه از مجوز عمومی همگانی گنو را دریافت کرده باشید؛ در غیر این صورت، به نشانی زیر بنویسید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
کد StackWalker کپیرایت (c) 2005-2019، Jochen Kalmbach، تمامی حقوق محفوظ است.
کد فشردهسازی سریع LZ متعلق به lz4 کپیرایت (C) 2011-2020، Yann Collet، تمامی حقوق محفوظ است.
کد backward-cpp کپیرایت 2013-2017، Google Inc. تمامی حقوق محفوظ است.
نویسندگان (AUTHORS)
Allen Winter <allen.winter@kdab.com> Andreas Holzammer <andreas.holzammer@kdab.com> Anton Kreuzkamp <anton.kreuzkamp@kdab.com> BogDan Vatra <bogdan.vatra@kdab.com> Dan Vratil <dvratil@redhat.com> David Faure <david.faure@kdab.com> Filipe Azevedo <filipe.azevedo@kdab.com> Frank Osterfeld <frank.osterfeld@kdab.com> James Turner <james.turner@kdab.com> Jan Dalheimer <jan.dalheimer@kdab.com> Kevin Funk <kevin.funk@kdab.com> Laurent Montel <laurent.montel@kdab.com> Mathias Hasselmann <mathias.hasselmann@kdab.com> Milian Wolff <milian.wolff@kdab.com> Nicolas Arnaud-Cormos <nicolas.arnaud-cormos@kdab.com> Patrick Spendrin <patrick.spendrin@kdab.com> Peter Kuemmel <syntheticpp@gmx.net> Rafael Roquetto <rafael.roquetto@kdab.com> Sergio Martins <sergio.martins@kdab.com> Stephen Kelly <stephen.kelly@kdab.com> Thomas McGuire <thomas.mcguire@kdab.com> Till Adam <till.adam@kdab.com> Tobias Koenig <tobias.koenig@kdab.com> Volker Krause <volker.krause@kdab.com>
| 2026-08-18 | 3.4.0 |