ນີ້ແມ່ນເຄື່ອງພິມຄໍາສັ່ງທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນສະຖານີເຮັດວຽກອອນໄລນ໌ຟຣີຫຼາຍອັນຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
dialyzer - The Dialyzer, ຄວາມແຕກຕ່າງຂອງ Analyzer ສໍາລັບໂຄງການ ERlang
ລາຍລະອຽດ
Dialyzer ແມ່ນເຄື່ອງມືການວິເຄາະສະຖິດທີ່ກໍານົດຄວາມແຕກຕ່າງຂອງຊອບແວເຊັ່ນ:
ຂໍ້ຜິດພາດປະເພດທີ່ແນ່ນອນ, ລະຫັດທີ່ໄດ້ກາຍເປັນຕາຍຫຼືບໍ່ສາມາດຕິດຕໍ່ໄດ້ເນື່ອງຈາກບາງໂຄງການ
ຄວາມຜິດພາດ, ການທົດສອບທີ່ບໍ່ຈໍາເປັນ, ແລະອື່ນໆໃນໂມດູນ Erlang ດຽວຫຼືທັງຫມົດ (ຊຸດຂອງ) ຄໍາຮ້ອງສະຫມັກ.
Dialyzer ເລີ່ມຕົ້ນການວິເຄາະຂອງມັນຈາກ BEAM bytecode ທີ່ຖືກແກ້ບັນຫາ ຫຼືຈາກ Erlang
ລະຫັດແຫຼ່ງ. ໄຟລ໌ ແລະໝາຍເລກແຖວຂອງຄວາມແຕກຕ່າງແມ່ນລາຍງານພ້ອມກັບ
ການຊີ້ບອກເຖິງສິ່ງທີ່ຄວາມແຕກຕ່າງແມ່ນກ່ຽວກັບ. Dialyzer ອີງໃສ່ການວິເຄາະຂອງຕົນກ່ຽວກັບແນວຄວາມຄິດຂອງ
ພິມຜົນສໍາເລັດທີ່ອະນຸຍາດໃຫ້ສໍາລັບການເຕືອນໄພສຽງ (ບໍ່ມີທາງບວກທີ່ບໍ່ຖືກຕ້ອງ).
ອ່ານເພີ່ມເຕີມກ່ຽວກັບ Dialyzer ແລະກ່ຽວກັບວິທີການນໍາໃຊ້ມັນຈາກ GUI ໃນ ເຄື່ອງເປົ່າລົມ ຂອງຜູ້ໃຊ້ ຄູ່ມື.
ການ ນຳ ໃຊ້ ການ DIALYZER ຈາກ ການ ຄໍາສັ່ງ LINE
Dialyzer ຍັງມີສະບັບເສັ້ນຄໍາສັ່ງສໍາລັບການນໍາໃຊ້ອັດຕະໂນມັດ. ຂ້າງລຸ່ມນີ້ແມ່ນຄໍາອະທິບາຍສັ້ນໆ
ບັນຊີລາຍຊື່ຂອງທາງເລືອກຂອງຕົນ. ຂໍ້ມູນດຽວກັນສາມາດໄດ້ຮັບໂດຍການຂຽນ
dialyzer --ຊ່ວຍ
ໃນຫອຍ. ກະລຸນາເບິ່ງທີ່ຄໍາອະທິບາຍ GUI ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບການດໍາເນີນງານຂອງ
ເຄື່ອງເປົ່າລົມ.
ສະຖານະການອອກຂອງສະບັບເສັ້ນຄໍາສັ່ງແມ່ນ:
0 - ບໍ່ພົບບັນຫາໃນລະຫວ່າງການວິເຄາະແລະບໍ່ມີ
ການເຕືອນໄພໄດ້ຖືກປ່ອຍອອກມາ.
1 - ບັນຫາທີ່ພົບໃນລະຫວ່າງການວິເຄາະ.
2 - ບໍ່ພົບບັນຫາ, ແຕ່ການເຕືອນໄພໄດ້ຖືກປ່ອຍອອກມາ.
ການນໍາໃຊ້:
dialyzer [--help] [--version] [--shell] [--ງຽບ] [--verbose]
[-pa dir]* [--plt plt] [--plts plt*] [-Ddefine]*
[-I include_dir]* [--output_plt file] [-Wwarn]* [--raw]
[--src] [--gui] [files_or_dirs] [-r dirs]
[--apps applications] [-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 .beam ໄຟລ໌, ຂຶ້ນກັບປະເພດຂອງການວິເຄາະ.
-r ທີ່ຢູ່:
ຄືກັນກັບທີ່ຜ່ານມາແຕ່ລະບົບທີ່ກໍານົດໄວ້ແມ່ນຊອກຫາ recursively ສໍາລັບການ
ໄດເລກະທໍລີຍ່ອຍປະກອບດ້ວຍ .erl or .beam ໄຟລ໌ໃນພວກມັນ, ຂຶ້ນກັບປະເພດຂອງ
ການວິເຄາະ.
--ແອັບ ຄໍາຮ້ອງສະຫມັກ:
ທາງເລືອກທີ່ຖືກນໍາໃຊ້ໂດຍປົກກະຕິໃນເວລາທີ່ການກໍ່ສ້າງຫຼືການປັບປຸງ plt ເປັນໃນ:
dialyzer --build_plt --apps erts kernel stdlib mnesia ...
dialyzer --apps inets ssl ./ebin ../other_lib/ebin/my_module.beam
-o outfile (ຫຼື -- ຜົນຜະລິດ outfile):
ເມື່ອໃຊ້ Dialyzer ຈາກເສັ້ນຄໍາສັ່ງ, ສົ່ງຜົນການວິເຄາະໄປຫາທີ່ກໍານົດໄວ້
outfile ແທນທີ່ຈະ stdout.
-- ດິບ:
ເມື່ອໃຊ້ Dialyzer ຈາກເສັ້ນຄໍາສັ່ງ, ໃຫ້ຜົນໄດ້ຮັບການວິເຄາະດິບ (Erlang
ຂໍ້ກໍານົດ) ແທນທີ່ຈະເປັນຮູບແບບຜົນໄດ້ຮັບ. ຮູບແບບວັດຖຸດິບແມ່ນງ່າຍກວ່າທີ່ຈະຫຼັງຂະບວນການ (ສໍາລັບ
ຕົວຢ່າງ, ເພື່ອກັ່ນຕອງຄໍາເຕືອນຫຼືອອກຫນ້າ HTML).
--src:
ລົບລ້າງຄ່າເລີ່ມຕົ້ນ, ເຊິ່ງແມ່ນການວິເຄາະໄຟລ໌ BEAM, ແລະວິເຄາະເລີ່ມຕົ້ນຈາກ Erlang
ລະຫັດແຫຼ່ງແທນ.
- ຊື່ (ຫຼື -Dname=ຄ່າ):
ໃນເວລາທີ່ການວິເຄາະຈາກແຫຼ່ງຂໍ້ມູນ, ຜ່ານການກໍານົດໃຫ້ Dialyzer. (**)
-I include_dir:
ເມື່ອວິເຄາະຈາກແຫຼ່ງ, ໃຫ້ຜ່ານ include_dir ກັບ Dialyzer. (**)
- ປ dir:
ລວມ dir ໃນເສັ້ນທາງສໍາລັບ Erlang (ເປັນປະໂຫຍດໃນເວລາທີ່ການວິເຄາະໄຟລ໌ທີ່ມີ
'-include_lib()' ຄຳແນະນຳ).
--output_plt ເອກະສານ:
ເກັບຮັກສາ plt ໃນໄຟລ໌ທີ່ລະບຸໄວ້ຫຼັງຈາກການກໍ່ສ້າງມັນ.
--plt plt:
ໃຊ້ plt ທີ່ລະບຸໄວ້ເປັນ plt ເບື້ອງຕົ້ນ (ຖ້າ plt ຖືກສ້າງຂຶ້ນໃນລະຫວ່າງການຕັ້ງໄຟລ໌
ຈະຖືກກວດສອບຄວາມສອດຄ່ອງ).
--plts plt*:
ຮວມ plts ທີ່ລະບຸເພື່ອສ້າງ plt ເບື້ອງຕົ້ນ - ຮຽກຮ້ອງໃຫ້ plts ແມ່ນ
disjoint (ie, ບໍ່ມີໂມດູນໃດປະກົດຢູ່ໃນຫຼາຍກ່ວາຫນຶ່ງ plt). plts ແມ່ນ
ສ້າງຂຶ້ນໃນແບບປົກກະຕິ:
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 ແຫຼ່ງຂໍ້ມູນ ໄຟ
ລາຍລະອຽດຂ້າງລຸ່ມ.
--ແກະ:
ຢ່າປິດການໃຊ້ງານ Shell Erlang ໃນຂະນະທີ່ແລ່ນ GUI.
- ການປ່ຽນແປງ (ຫຼື -v):
ພິມສະບັບ Dialyzer ແລະຂໍ້ມູນເພີ່ມເຕີມແລະອອກ.
- ຊ່ວຍ (ຫຼື -h):
ພິມຂໍ້ຄວາມນີ້ແລະອອກ.
--ງຽບ (ຫຼື -q):
ເຮັດໃຫ້ Dialyzer ງຽບຫຼາຍ.
-- verbose:
ເຮັດ Dialyzer ເລັກນ້ອຍ verbose ຫຼາຍ.
--ສະຖິຕິ:
ພິມຂໍ້ມູນກ່ຽວກັບຄວາມຄືບໜ້າຂອງການປະຕິບັດ (ໄລຍະການວິເຄາະ, ເວລາທີ່ໃຊ້ໃນ
ແຕ່ລະຂະຫນາດຂອງການປ້ອນຂໍ້ມູນພີ່ນ້ອງ).
--build_plt:
ການວິເຄາະເລີ່ມຕົ້ນຈາກ plt ຫວ່າງເປົ່າແລະສ້າງໃຫມ່ຈາກໄຟລ໌ທີ່ລະບຸໄວ້
ກັບ -c ແລະ -r. ພຽງແຕ່ເຮັດວຽກສໍາລັບໄຟລ໌ beam. ໃຊ້ --plt or --output_plt ເພື່ອ override ໄດ້
ສະຖານທີ່ plt ເລີ່ມຕົ້ນ.
--add_to_plt:
plt ແມ່ນຂະຫຍາຍໄປລວມທັງໄຟລ໌ທີ່ລະບຸໄວ້ກັບ -c ແລະ -rທີ່ຢູ່ ການນໍາໃຊ້ --plt to
ລະບຸ plt ທີ່ຈະເລີ່ມຕົ້ນຈາກ, ແລະ --output_plt ເພື່ອລະບຸບ່ອນທີ່ຈະວາງ plt.
ໃຫ້ສັງເກດວ່າການວິເຄາະອາດຈະປະກອບມີໄຟລ໌ຈາກ plt ຖ້າພວກເຂົາຂຶ້ນກັບໃຫມ່
ໄຟລ໌. ຕົວເລືອກນີ້ໃຊ້ໄດ້ກັບໄຟລ໌ beam ເທົ່ານັ້ນ.
--remove_from_plt:
ຂໍ້ມູນຈາກໄຟລ໌ທີ່ລະບຸໄວ້ກັບ -c ແລະ -r ຖືກໂຍກຍ້າຍອອກຈາກ plt. ຫມາຍເຫດ
ນີ້ອາດຈະເຮັດໃຫ້ເກີດການວິເຄາະຄືນໃຫມ່ຂອງໄຟລ໌ທີ່ຂຶ້ນກັບທີ່ຍັງເຫຼືອ.
--check_plt:
ກວດເບິ່ງ plt ສໍາລັບຄວາມສອດຄ່ອງແລະສ້າງໃຫມ່ຖ້າມັນບໍ່ທັນສະໄຫມ.
--no_check_plt:
ຂ້າມ plt check ເມື່ອແລ່ນ Dialyzer. ເປັນປະໂຫຍດໃນເວລາທີ່ເຮັດວຽກກັບ plts ທີ່ຕິດຕັ້ງນັ້ນ
ບໍ່ເຄີຍປ່ຽນແປງ.
--plt_info:
ເຮັດໃຫ້ Dialyzer ພິມຂໍ້ມູນກ່ຽວກັບ plt ແລະຫຼັງຈາກນັ້ນອອກ. plt ສາມາດຖືກກໍານົດ
ກັບ --plt(s).
--get_warnings:
ເຮັດໃຫ້ Dialyzer ປ່ອຍຄໍາເຕືອນເຖິງແມ່ນວ່າໃນເວລາທີ່ manipulating plt ໄດ້. ຄຳເຕືອນພຽງແຕ່ຖືກປ່ອຍອອກມາ
ສໍາລັບໄຟລ໌ທີ່ຖືກວິເຄາະຕົວຈິງ.
--dump_callgraph ເອກະສານ:
ຖິ້ມເສັ້ນສະແດງການໂທຫາເຂົ້າໄປໃນໄຟລ໌ທີ່ລະບຸໄວ້ເຊິ່ງຮູບແບບຂອງໄຟລ໌ຖືກກໍານົດ
ນາມສະກຸນ. ສ່ວນຂະຫຍາຍທີ່ຮອງຮັບແມ່ນ: raw, dot, ແລະ ps. ຖ້າສິ່ງອື່ນຖືກນໍາໃຊ້
ເປັນນາມສະກຸນຊື່ໄຟລ໌, ຮູບແບບເລີ່ມຕົ້ນ '.raw' ຈະຖືກນໍາໃຊ້.
--no_native (ຫຼື - ນ):
ຂ້າມການລວບລວມລະຫັດພື້ນເມືອງຂອງບາງໄຟລ໌ທີ່ສໍາຄັນທີ່ Dialyzer heuristically
ປະຕິບັດໃນເວລາທີ່ dialyzing ໄຟລ໌ຈໍານວນຫຼາຍ; ນີ້ຫຼີກລ້ຽງການລວບລວມເວລາແຕ່ມັນອາດຈະສົ່ງຜົນ
ໃນ (ຫຼາຍ) ເວລາການວິເຄາະທີ່ຍາວກວ່າ.
--no_native_cache:
ໂດຍຄ່າເລີ່ມຕົ້ນ, Dialyzer cache ຜົນໄດ້ຮັບຂອງການລວບລວມຂໍ້ມູນພື້ນເມືອງຢູ່ໃນ
$XDG_CACHE_HOME/erlang/dialyzer_hipe_cache ລະບົບ. XDG_CACHE_HOME ເລີ່ມຕົ້ນເປັນ
$HOME/.cache. ໃຊ້ຕົວເລືອກນີ້ເພື່ອປິດການເກັບຂໍ້ມູນ.
-- ເຕັມເສັ້ນທາງ:
ສະແດງຊື່ເສັ້ນທາງເຕັມຂອງໄຟລ໌ສໍາລັບການທີ່ມີການເຕືອນໄພຖືກປ່ອຍອອກມາ.
--gui:
ໃຊ້ GUI.
ຫມາຍເຫດ:
* ໝາຍເຖິງການເກີດຂຶ້ນຫຼາຍອັນຂອງທາງເລືອກເຫຼົ່ານີ້ເປັນໄປໄດ້.
** ທາງເລືອກ -D ແລະ -I ເຮັດວຽກທັງສອງຈາກເສັ້ນຄໍາສັ່ງແລະໃນ Dialyzer GUI; syntax ຂອງ
ກໍານົດແລະປະກອບມີແມ່ນຄືກັນກັບທີ່ນໍາໃຊ້ໂດຍ erlc.
ຕົວເລືອກການເຕືອນໄພ:
-Wno_return:
ສະກັດກັ້ນການເຕືອນໄພສໍາລັບຟັງຊັນທີ່ຈະບໍ່ສົ່ງຄືນຄ່າ.
-Wno_unused:
ສະກັດກັ້ນການເຕືອນໄພສໍາລັບຫນ້າທີ່ບໍ່ໄດ້ໃຊ້.
-Wno_improper_lists:
ສະກັດກັ້ນການເຕືອນໄພສໍາລັບການກໍ່ສ້າງບັນຊີລາຍຊື່ທີ່ບໍ່ຖືກຕ້ອງ.
-Wno_fun_app:
ສະກັດກັ້ນການເຕືອນໄພສໍາລັບຄໍາຮ້ອງສະຫມັກມ່ວນທີ່ຈະລົ້ມເຫລວ.
-Wno_match:
ສະກັດກັ້ນການເຕືອນສໍາລັບຮູບແບບທີ່ບໍ່ໄດ້ໃຊ້ຫຼືບໍ່ສາມາດກົງກັນໄດ້.
-Wno_opaque:
ສະກັດກັ້ນການເຕືອນໄພການລະເມີດຄວາມໂປ່ງໃສຂອງປະເພດຂໍ້ມູນ.
-Wno_fail_call:
ສະກັດກັ້ນການເຕືອນສໍາລັບການໂທທີ່ລົ້ມເຫລວ.
-Wno_contracts:
ສະກັດກັ້ນການເຕືອນໄພກ່ຽວກັບສັນຍາທີ່ບໍ່ຖືກຕ້ອງ.
-Wno_ພຶດຕິກໍາ:
ສະກັດກັ້ນການເຕືອນກ່ຽວກັບການເອີ້ນຄືນພຶດຕິກຳທີ່ເລື່ອນໄປຈາກຄຳແນະນຳທີ່ເຜີຍແຜ່
ອິນເຕີເຟດ.
-Wno_missing_calls:
ສະກັດກັ້ນການເຕືອນກ່ຽວກັບການໂທຫາຫນ້າທີ່ຂາດຫາຍໄປ.
-Wno_undefined_callbacks:
ສະກັດກັ້ນການເຕືອນໄພກ່ຽວກັບພຶດຕິກໍາທີ່ບໍ່ມີ -ໂທກັບ ຄຸນລັກສະນະສໍາລັບເຂົາເຈົ້າ
ໂທກັບ.
-Wunmatched_returns***:
ຮວມເອົາຄຳເຕືອນສຳລັບການເອີ້ນຟັງຊັນທີ່ບໍ່ສົນໃຈຄ່າຕອບແທນທີ່ມີໂຄງສ້າງຫຼືບໍ່
ຈັບຄູ່ກັບໜຶ່ງໃນຫຼາຍຄ່າຕອບແທນທີ່ເປັນໄປໄດ້.
-Werror_handling***:
ຮວມເອົາຄຳເຕືອນສຳລັບຟັງຊັນທີ່ສົ່ງຄືນພຽງແຕ່ດ້ວຍຂໍ້ຍົກເວັ້ນ.
-Wrac_conditions***:
ຮວມເອົາຄຳເຕືອນສຳລັບເງື່ອນໄຂການແຂ່ງຂັນທີ່ເປັນໄປໄດ້. ໃຫ້ສັງເກດວ່າການວິເຄາະທີ່ຊອກຫາຂໍ້ມູນ
ເຊື້ອຊາດປະຕິບັດການວິເຄາະການໄຫຼເຂົ້າຂອງຂໍ້ມູນພາຍໃນຂັ້ນຕອນແລະບາງຄັ້ງສາມາດລະເບີດໃນເວລາ.
ເປີດໃຊ້ມັນຢູ່ໃນຄວາມສ່ຽງຂອງທ່ານເອງ.
-Wunderspec***:
ເຕືອນກ່ຽວກັບຫນ້າທີ່ບໍ່ລະບຸ (ການ -spec ແມ່ນຢ່າງເຂັ້ມງວດອະນຸຍາດໃຫ້ຫຼາຍກ່ວາ
ການພິມສໍາເລັດຮູບ).
- ບໍ່ຮູ້ຈັກ***:
ໃຫ້ຄໍາເຕືອນກ່ຽວກັບຟັງຊັນແລະປະເພດທີ່ບໍ່ຮູ້ຈັກມີຜົນກະທົບຕໍ່ສະຖານະການອອກຈາກຄໍາສັ່ງ
ສະບັບສາຍ. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອບໍ່ສົນໃຈຄໍາເຕືອນກ່ຽວກັບຫນ້າທີ່ບໍ່ຮູ້ແລະປະເພດໃນເວລາທີ່
ການຕັ້ງຄ່າສະຖານະການອອກ. ໃນເວລາທີ່ການນໍາໃຊ້ Dialyzer ຈາກ Erlang, ການເຕືອນໄພກ່ຽວກັບການບໍ່ຮູ້
ຫນ້າທີ່ແລະປະເພດຖືກສົ່ງຄືນ; ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ໃຫ້ກັບຄືນຄໍາເຕືອນເຫຼົ່ານີ້.
ທາງເລືອກດັ່ງຕໍ່ໄປນີ້ຍັງມີຢູ່ແຕ່ການນໍາໃຊ້ຂອງເຂົາເຈົ້າແມ່ນບໍ່ໄດ້ແນະນໍາໃຫ້: (ພວກເຂົາເຈົ້າແມ່ນ
ສ່ວນໃຫຍ່ສໍາລັບນັກພັດທະນາ Dialyzer ແລະການແກ້ບັນຫາພາຍໃນ)
-Woverspecs***:
ເຕືອນກ່ຽວກັບຟັງຊັນທີ່ລະບຸເກີນ (the -spec ແມ່ນຢ່າງເຂັ້ມງວດອະນຸຍາດໃຫ້ຫນ້ອຍກວ່າ
ການພິມສໍາເລັດຮູບ).
-Wspecdiffs***:
ເຕືອນເມື່ອ -spec ແຕກຕ່າງຈາກການພິມສຳເລັດ.
ຫມາຍເຫດ:
*** ກໍານົດທາງເລືອກທີ່ເປີດການແຈ້ງເຕືອນແທນທີ່ຈະປິດພວກມັນ.
ການ ນຳ ໃຊ້ ການ DIALYZER ຈາກ ERLANG
ທ່ານຍັງສາມາດໃຊ້ Dialyzer ໂດຍກົງຈາກ Erlang. ທັງ GUI ແລະສະບັບສາຍຄໍາສັ່ງ
ມີຢູ່. ຕົວເລືອກຕ່າງໆແມ່ນຄ້າຍຄືກັນກັບທີ່ມາຈາກເສັ້ນຄໍາສັ່ງ, ດັ່ງນັ້ນກະລຸນາ
ອ້າງອີງໃສ່ພາກສ່ວນຂ້າງເທິງສໍາລັບຄໍາອະທິບາຍກ່ຽວກັບສິ່ງເຫຼົ່ານີ້.
ກຳລັງຮ້ອງຂໍ OR ສະກັດກັ້ນ ຄໍາເຕືອນ IN ແຫຼ່ງຂໍ້ມູນ ເອກະສານ
ໄດ້ - dialyzer () ຄຸນລັກສະນະສາມາດຖືກນໍາໃຊ້ສໍາລັບການປິດການເຕືອນໄພໃນໂມດູນໂດຍການລະບຸ
ຫນ້າທີ່ຫຼືທາງເລືອກການເຕືອນໄພ. ຕົວຢ່າງ, ເພື່ອປິດການເຕືອນໄພທັງຫມົດສໍາລັບຟັງຊັນ f / 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]}).
ສໍາລັບການຊ່ວຍເຫຼືອກ່ຽວກັບທາງເລືອກການເຕືອນໄພ, ການນໍາໃຊ້ ເຄື່ອງກວດລ້າງ - ຊ່ວຍ. ທາງເລືອກໃນການຍັງມີ enumerated ຕ່ໍາກວ່າ
(WarnOpts).
ຫມາຍເຫດ:
ໄດ້ - dialyzer () ຄຸນລັກສະນະບໍ່ໄດ້ຖືກກວດສອບໂດຍ Erlang Compiler, ແຕ່ໂດຍ Dialyzer
ຕົວເອງ
ຫມາຍເຫດ:
ທາງເລືອກການເຕືອນໄພ -Wrac_conditions ບໍ່ມີຜົນກະທົບໃນເວລາທີ່ຕັ້ງຢູ່ໃນໄຟລ໌ຕົ້ນສະບັບ.
ໄດ້ - dialyzer () ຄຸນລັກສະນະຍັງສາມາດຖືກໃຊ້ສໍາລັບການເປີດການເຕືອນ. ຕົວຢ່າງ, ຖ້າ ກ
ໂມດູນໄດ້ຖືກແກ້ໄຂກ່ຽວກັບຜົນຕອບແທນທີ່ບໍ່ກົງກັນ, ເພີ່ມເສັ້ນ
-dialyzer(unmatched_returns).
ສາມາດຊ່ວຍໃນການຮັບປະກັນວ່າບໍ່ມີການເຕືອນໄພກັບຄືນມາທີ່ບໍ່ກົງກັນໃຫມ່ໄດ້ຖືກນໍາສະເຫນີ.
ການສົ່ງອອກ
gui() -> ok | {ຜິດພາດ, ຂໍ້ຄວາມ}
gui(OptList) -> ok | {ຜິດພາດ, ຂໍ້ຄວາມ}
ປະເພດ:
OptList -- ເບິ່ງຂ້າງລຸ່ມນີ້
ຮຸ່ນ Dialyzer GUI.
OptList :: [ທາງເລືອກ]
ທາງເລືອກ :: {files, [Filename :: string()]}
| {files_rec, [DirName :: string()]}
| {ກຳນົດ, [{ Macro :: atom(), Value :: term()}]}
| {ຈາກ, src_code | byte_code} %% ຄ່າເລີ່ມຕົ້ນຂອງ byte_code
| {init_plt, FileName :: string()} %% ຖ້າປ່ຽນຈາກຄ່າເລີ່ມຕົ້ນ
| {plts, [FileName :: string()]} %% ຖ້າປ່ຽນຈາກຄ່າເລີ່ມຕົ້ນ
| {include_dirs, [DirName :: string()]}
| {output_file, FileName :: string()}
| {output_plt, FileName :: string()}
| {check_plt, boolean()},
| {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_match
| no_opaque
| no_fail_call
| no_contracts
| no_ພຶດຕິກໍາ
| no_undefined_callbacks
| unmatched_returns
| error_handling
| race_conditions
| overspec
| underspec
| ຂໍ້ມູນສະເພາະ
| ບໍ່ຮູ້ຈັກ
ແລ່ນ(OptList) -> ຄໍາເຕືອນ
ປະເພດ:
OptList -- ເບິ່ງ gui/0,1
ຄໍາເຕືອນ -- ເບິ່ງຂ້າງລຸ່ມນີ້
ສະບັບເສັ້ນຄໍາສັ່ງ Dialyzer.
ຄຳເຕືອນ :: [{Tag, Id, Msg}]
Tag :: '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'
Id = {File :: string(), Line :: integer()}
Msg = msg() -- ບໍ່ໄດ້ກໍານົດ
format_warning(Msg) -> ສະຕຣິງ()
ປະເພດ:
Msg = {Tag, Id, msg()} -- ເບິ່ງ run/1
ໄດ້ຮັບສາຍຈາກຄໍາເຕືອນທີ່ສົ່ງຄືນໂດຍ dialyzer:run/1.
plt_info(string()) -> {'ຕົກລົງ', [{ປະລໍາມະນູ(), ໃດ()}]} | {'ຄວາມຜິດພາດ', atom()}
ສົ່ງຄືນຂໍ້ມູນກ່ຽວກັບ plt ທີ່ລະບຸ.
ໃຊ້ dialyzer ອອນລາຍໂດຍໃຊ້ບໍລິການ onworks.net
