عربيالفرنسيةالإسبانية

Ad


OnWorks فافيكون

Dialyzer - عبر الإنترنت في السحابة

قم بتشغيل Dialyzer في مزود استضافة OnWorks المجاني عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو برنامج Dialyzer الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


Dialyzer - Dialyzer ، محلل DIscrepancy لبرامج ERlang

الوصف


Dialyzer هي أداة تحليل ثابتة تحدد تناقضات البرامج مثل
محدد نوع الأخطاء ، الكود الذي أصبح ميتًا أو يتعذر الوصول إليه بسبب بعض البرمجة
خطأ ، والاختبارات غير الضرورية ، وما إلى ذلك في وحدات Erlang الفردية أو (مجموعات) كاملة من التطبيقات.
يبدأ Dialyzer تحليله إما من رمز بايت BEAM المترجم بتصحيح الأخطاء أو من Erlang
مصدر الرمز. يتم الإبلاغ عن ملف ورقم سطر الاختلاف مع ملف
إشارة إلى ماهية التناقض. يبني Dialyzer تحليله على مفهوم
الطباعة الناجحة التي تسمح بالتحذيرات الصوتية (لا توجد نتائج إيجابية خاطئة).

اقرأ المزيد عن Dialyzer وحول كيفية استخدامه من واجهة المستخدم الرسومية في غسيل الكلى المستخدم دليل.

باستخدام ال جهاز DIALYZER من عند ال COMMAND خط


يحتوي Dialyzer أيضًا على إصدار سطر أوامر للاستخدام الآلي. أدناه وصف موجز
من قائمة خياراتها. يمكن الحصول على نفس المعلومات عن طريق الكتابة

Dialyzer - مساعدة

في قذيفة. يرجى الرجوع إلى وصف واجهة المستخدم الرسومية لمزيد من التفاصيل حول تشغيل
غسيل الكلى.

حالة الخروج من إصدار سطر الأوامر هي:

0 - لم تتم مصادفة أي مشاكل أثناء التحليل ولا
تم إصدار تحذيرات.
1- مشاكل واجهتها أثناء التحليل.
2 - لم تحدث مشاكل ولكن تم إصدار إنذارات.

الاستخدام:

Dialyzer [--help] [--version] [--shell] [--quiet] [- verbose]
[-pa dir] * [--plt plt] [--plts plt *] [-Define] *
[-I include_dir] * [--output_plt file] [-Wwarn] * [--raw]
[--src] [--gui] [files_or_dirs] [-r dirs]
[- تطبيقات التطبيقات] [-o outfile]
[--build_plt] [--add_to_plt] [--remove_from_plt]
[--check_plt] [- no_check_plt] [--plt_info] [--get_warnings]
[--dump_callgraph file] [- no_native] [--fullpath]
[- الإحصائيات] [- no_native_cache]

خيارات:

files_or_dirs (للتوافق مع الإصدارات السابقة أيضًا على النحو التالي: -c files_or_dirs):
استخدم Dialyzer من سطر الأوامر لاكتشاف العيوب في الملفات المحددة أو
الدلائل التي تحتوي على .erl or .الحزم حسب نوع التحليل.

-r تطبيق الاستعراض المفصل:
يتم البحث عن الدلائل السابقة ولكن المحددة بشكل متكرر
أدلة فرعية تحتوي على ملفات .erl or .الحزم الملفات الموجودة فيها ، اعتمادًا على نوع ملفات
التحليل.

--تطبيقات التطبيقات:
يستخدم الخيار عادةً عند إنشاء أو تعديل plt كما في:

Dialyzer --build_plt --apps erts kernel stdlib mnesia ...

Dialyzer --apps inets ssl ./ebin ../other_lib/ebin/my_module.beam

-o ملف (أو --انتاج ملف):
عند استخدام Dialyzer من سطر الأوامر ، أرسل نتائج التحليل إلى المحدد
outfile بدلاً من stdout.

--الخام:
عند استخدام Dialyzer من سطر الأوامر ، قم بإخراج نتائج التحليل الأولية (Erlang
المصطلحات) بدلاً من النتيجة المنسقة. التنسيق الخام أسهل في المعالجة اللاحقة (لـ
على سبيل المثال ، لتصفية التحذيرات أو لإخراج صفحات HTML).

- src:
تجاوز الإعداد الافتراضي ، وهو تحليل ملفات BEAM والتحليل بدءًا من Erlang
شفرة المصدر بدلا من ذلك.

-اسم (أو -اسم = القيمة):
عند التحليل من المصدر ، قم بتمرير التعريف إلى Dialyzer. (**)

-I include_dir:
عند التحليل من المصدر ، قم بتمرير include_dir إلى Dialyzer. (**)

-با دير:
تضمن دير في مسار Erlang (مفيد عند تحليل الملفات التي تحتوي على
"-يشمل_ليب ()" التوجيهات).

--output_plt ملف:
قم بتخزين plt في الملف المحدد بعد بنائه.

--plt معاهدة قانون البراءات:
استخدم plt المحدد باعتباره plt الأولي (إذا تم إنشاء plt أثناء إعداد الملفات
سيتم التحقق من الاتساق).

--plts PLT *:
دمج plt المحددة لإنشاء plt الأولي - يتطلب أن تكون plt
مفكك (على سبيل المثال ، ليس لديك أي وحدة تظهر في أكثر من PLT واحد). اللوحات هي
تم إنشاؤه بالطريقة المعتادة:

Dialyzer --build_plt --output_plt plt_1 files_to_include

Dialyzer --build_plt --output_plt plt_n files_to_include

Dialyzer files_to_analyze --plts plt_1 ... plt_n

Dialyzer --plts plt_1 ... plt_n - files_to_analyze

-حذر:
مجموعة من الخيارات التي تعمل بشكل انتقائي على تشغيل / إيقاف التحذيرات (للمساعدة على أسماء ملفات
استخدام التحذيرات مديال -جرو). لاحظ أنه يمكن أيضًا توفير الخيارات في الملف
مع -dialyzer () ينسب. يرى طلب or قمع تحذيرات in مصدر ملفات
أدناه للحصول على التفاصيل.

--الصدف:
لا تقم بتعطيل غلاف Erlang أثناء تشغيل واجهة المستخدم الرسومية.

--الإصدار (أو -v):
اطبع نسخة Dialyzer وبعض المعلومات الإضافية واخرج.

--مساعدة (أو -h):
اطبع هذه الرسالة واخرج.

--هادئ (أو -q):
اجعل Dialyzer أكثر هدوءًا قليلاً.

- الإسراف:
اجعل Dialyzer أكثر إسهابًا.

--الإحصاء:
يطبع معلومات حول تقدم التنفيذ (مراحل التحليل ، الوقت الذي يقضيه
كل وحجم المدخلات النسبية).

--build_plt:
يبدأ التحليل من plt فارغًا وينشئ واحدًا جديدًا من الملفات المحددة
مع -c و -r. يعمل فقط لملفات الشعاع. يستخدم --plt or --output_plt لتجاوز
موقع PLT الافتراضي.

- add_to_plt:
يتم تمديد plt ليشمل أيضًا الملفات المحددة بـ -c و -r. استعمال --plt إلى
حدد أي plt نبدأ منه ، و --output_plt لتحديد مكان وضع plt.
لاحظ أن التحليل قد يتضمن ملفات من plt إذا كانت تعتمد على الملف الجديد
الملفات. يعمل هذا الخيار فقط مع ملفات الحزمة.

- حذف_من_plt:
المعلومات من الملفات المحددة بـ -c و -r تمت إزالته من PLT. ملحوظة
أن هذا قد يتسبب في إعادة تحليل الملفات التابعة المتبقية.

- check_plt:
تحقق من تناسق plt وأعد بنائه إذا لم يكن محدثًا.

- no_check_plt:
تخطي فحص plt عند تشغيل Dialyzer. مفيد عند العمل مع plts المثبتة ذلك
لا تتغير أبدا.

--plt_info:
جعل Dialyzer طباعة معلومات حول plt ثم قم بإنهاء. يمكن تحديد ال PLT
مع --plt (ق).

--get_ تحذيرات:
اجعل Dialyzer يصدر تحذيرات حتى عند التعامل مع plt. تنبعث التحذيرات فقط
للملفات التي تم تحليلها بالفعل.

- تفريغ الخطاب ملف:
تفريغ الرسم البياني للاستدعاء في الملف المحدد الذي يتم تحديد تنسيقه بواسطة الملف
ملحق الاسم. الامتدادات المدعومة هي: raw و dot و ps. إذا تم استخدام شيء آخر
كملحق اسم الملف ، سيتم استخدام التنسيق الافتراضي ".raw".

- no_native (أو ):
تجاوز تجميع التعليمات البرمجية الأصلية لبعض الملفات الرئيسية التي يقوم Dialyzer بتجريبها
يؤدي عند الطلب العديد من الملفات ؛ هذا يتجنب وقت التجميع ولكن قد ينتج عنه
في وقت أطول (كثيرًا) للتحليل.

- no_native_cache:
بشكل افتراضي ، يقوم Dialyzer بتخزين نتائج الترجمة الأصلية في ملف
XDG_CACHE_HOME / erlang / dialyzer_hipe_cache الدليل. XDG_CACHE_HOME التخلف عن
$ HOME / .cache. استخدم هذا الخيار لتعطيل التخزين المؤقت.

--مسار كامل:
اعرض أسماء المسار الكامل للملفات التي تم إصدار التحذيرات بشأنها.

--gui:
استخدم واجهة المستخدم الرسومية.

ملحوظة:
* تشير إلى أن التكرارات المتعددة لهذه الخيارات ممكنة.

** والخيارات -D و -I العمل من سطر الأوامر وفي Dialyzer GUI ؛ بناء الجملة
يعرّف ويشتمل هو نفسه الذي يستخدمه erlc.

خيارات التحذير:

-لا_عودة:
قم بإلغاء التحذيرات للوظائف التي لن تُرجع قيمة أبدًا.

- غير مستخدم:
قم بإلغاء التحذيرات للوظائف غير المستخدمة.

-Wno_improper_lists:
قم بإلغاء التحذيرات لإنشاء قوائم غير صحيحة.

-Wno_fun_app:
قم بإلغاء التحذيرات للتطبيقات الممتعة التي ستفشل.

-Wno_match:
قم بإلغاء التحذيرات للأنماط غير المستخدمة أو التي لا يمكن أن تتطابق.

-Wno_opaque:
قم بإلغاء التحذيرات الخاصة بانتهاكات عدم شفافية أنواع البيانات.

-Wno_fail_call:
قم بإلغاء التحذيرات الخاصة بالمكالمات الفاشلة.

-Wno_contracts:
قم بإلغاء التحذيرات حول العقود غير الصالحة.

-لا_تصرفات:
قم بإلغاء التحذيرات حول عمليات الاسترجاعات السلوكية التي تنحرف عن التوصيات المنشورة
واجهات.

-لا يوجد مكالمات مفقودة:
قم بإلغاء التحذيرات حول استدعاءات الوظائف المفقودة.

-Wno_undef_callbacks:
قم بإلغاء التحذيرات المتعلقة بالسلوكيات التي لا تحتوي على -أتصل مرة أخرى سمات لهم
عمليات الاسترجاعات.

-لا مثيل_العودة***:
قم بتضمين تحذيرات لاستدعاءات الوظائف التي تتجاهل قيمة إرجاع منظمة أو لا تتجاهلها
تطابق واحد من العديد من القيم المرجعة المحتملة.

- معالجة_الخطأ***:
قم بتضمين تحذيرات للوظائف التي لا يتم إرجاعها إلا من خلال استثناء.

-شرط_المساعدين***:
قم بتضمين تحذيرات لظروف السباق المحتملة. لاحظ أن التحليل الذي يعثر على البيانات
السباقات تقوم بتحليل تدفق البيانات داخل الإجراءات ويمكن أن تنفجر في بعض الأحيان في الوقت المناسب.
قم بتمكينه على مسؤوليتك الخاصة.

-وندرسبيك***:
حذر من الوظائف غير المحددة (-spec يسمح بشكل صارم أكثر من
نجاح الكتابة).

-غير معروف***:
دع التحذيرات حول الوظائف والأنواع غير المعروفة تؤثر على حالة خروج الأمر
نسخة الخط. الإعداد الافتراضي هو تجاهل التحذيرات المتعلقة بالوظائف والأنواع غير المعروفة متى
تحديد حالة الخروج. عند استخدام Dialyzer من Erlang ، تحذيرات بشأن المجهول
يتم إرجاع الوظائف والأنواع ؛ الافتراضي هو عدم إعادة هذه التحذيرات.

الخيارات التالية متاحة أيضًا ولكن لا يوصى باستخدامها: (هم
في الغالب لمطوري Dialyzer والتصحيح الداخلي)

- ووفرسبيكس***:
حذر من الوظائف المفرطة التحديد (-المحدد أقل سماحًا من
نجاح الكتابة).

-Wspecdiffs***:
تحذير عندما تختلف -spec عن الكتابة الناجحة.

ملحوظة:
*** يحدد الخيارات التي تقوم بتشغيل التحذيرات بدلاً من إيقاف تشغيلها.

باستخدام ال جهاز DIALYZER من عند إيرلانج


يمكنك أيضًا استخدام Dialyzer مباشرة من Erlang. كل من إصدارات سطر الأوامر وواجهة المستخدم الرسومية
تتوفر. الخيارات مماثلة لتلك الواردة من سطر الأوامر ، لذا من فضلك
الرجوع إلى الأقسام أعلاه للحصول على وصف لها.

جاري الطلب OR قمع تحذيرات IN مصدر FILES


-dialyzer () يمكن استخدام السمة لإيقاف تشغيل التحذيرات في وحدة عن طريق تحديد
وظائف أو خيارات التحذير. على سبيل المثال ، لإيقاف تشغيل جميع التحذيرات الخاصة بالوظيفة و / 0,
تشمل السطر التالي:

-dialyzer ({nowarn_function، f / 0}).

لإيقاف تشغيل التحذيرات الخاصة بالقوائم غير الصحيحة ، أضف السطر التالي إلى الملف المصدر:

-dialyzer (no_improper_lists).

-dialyzer () السمة مسموح بها بعد إعلانات الوظيفة. قوائم خيارات التحذير
أو وظائف مسموح بها:

-dialyzer ([{nowarn_function، [f / 0]}، no_improper_lists]).

يمكن أن تقتصر خيارات التحذير على الوظائف:

-dialyzer ({no_improper_lists، g / 0}).

-dialyzer ({[no_return، no_match]، [g / 0، h / 0]}).

للحصول على تعليمات حول استخدام خيارات التحذير مديال -جرو. يتم أيضًا تعداد الخيارات أقل من
(تحذيرات).

ملحوظة:
-dialyzer () لا يتم فحص السمة بواسطة مترجم Erlang ، ولكن بواسطة Dialyzer
نفسها.

ملحوظة:
خيار التحذير -شرط_المساعدين ليس له أي تأثير عند تعيينه في ملفات المصدر.

-dialyzer () السمة أيضًا لتشغيل التحذيرات. على سبيل المثال ، إذا كان ملف
تم إصلاح الوحدة النمطية فيما يتعلق بالعائدات غير المتطابقة ، مع إضافة السطر

-dialyzer (unmatched_returns).

يمكن أن تساعد في ضمان عدم تقديم تحذيرات عودة جديدة لا مثيل لها.

صادرات


غوي () -> ok | {خطأ، msg}
واجهة المستخدم الرسومية (قائمة OptList) -> ok | {خطأ، msg}

الأنواع:

قائمة OptList - انظر أدناه

نسخة واجهة المستخدم الرسومية Dialyzer.

OptList :: [خيار]
الخيار :: {files، [Filename :: string ()]}
| {files_rec، [DirName :: string ()]}
| {يحدد، [{Macro :: atom ()، Value :: term ()}]}
| {from، src_code | byte_code} ٪٪ افتراضات إلى byte_code
| {init_plt، FileName :: string ()} ٪٪ إذا تم التغيير من الافتراضي
| {plts، [FileName :: string ()]} ٪٪ إذا تم التغيير من الافتراضي
| {include_dirs، [DirName :: string ()]}
| {output_file، FileName :: string ()}
| {output_plt ، اسم الملف :: سلسلة ()}
| {check_plt ، منطقية ()} ،
| {analysis_type، 'succ_typings' |
'plt_add' |
'plt_build' |
'plt_check' |
"plt_remove"}
| {تحذيرات ، [WarnOpts]}
| {get_warnings، bool ()}

WarnOpts :: no_return
| no_unused
| no_improper_lists
| no_fun_app
| لا تطابق
| no_opaque
| no_fail_call
| no_contracts
| no_behaviours
| no_undef_callbacks
| عوائد لا مثيل لها
| معالجة الأخطاء
| شروط السباق
| overpecs
| underpecs
| المواصفات
| غير معروف

تشغيل (قائمة OptList) -> تحذيرات

الأنواع:

قائمة OptList - راجع واجهة المستخدم الرسومية / 0,1،XNUMX
تحذيرات - انظر أدناه

نسخة سطر الأوامر Dialyzer.

تحذيرات :: [{علامة ، معرف ، رسالة}]
بطاقة :: 'warn_behaviour'
| "warn_bin_construction"
| "warn_callgraph"
| 'warn_contract_not_equal'
| "warn_contract_range"
| "warn_contract_subtype"
| "warn_contract_supertype"
| "warn_contract_syntax"
| "warn_contract_types"
| "warn_failing_call"
| "warn_fun_app"
| "warn_matching"
| "warn_non_proper_list"
| "warn_not_called"
| "warn_opaque"
| "warn_race_condition"
| "warn_return_no_exit"
| "warn_return_only_exit"
| "warn_umatched_return"
| "warn_undefined_callbacks"
| "warn_unknown"
المعرف = {File :: string ()، Line :: عدد صحيح ()}
msg = msg () - غير محدد

format_warning (رسالة) -> سلسلة()

الأنواع:

msg = {Tag، Id، msg ()} - راجع run / 1

الحصول على سلسلة من التحذيرات كما تم إرجاعها بواسطة Dialyzer: run / 1.

plt_info (سلسلة ()) -> {'نعم'، [{ذرة()، أي()}]} | {'خطأ'، ذرة()}

إرجاع معلومات حول مخطط المشروع المحدد.

استخدم Dialyzer عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

أوامر لينكس

Ad