ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

Ad


OnWorks favicon

latrace - ອອນລາຍໃນຄລາວ

ເປີດໃຊ້ latrace ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ latrace ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍສະຖານີເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


latrace - LD_AUDIT 2.4+ libc frontend

ສະຫຼຸບສັງລວມ


latrace [-snltfvhiBdISbcCyYLpoaNADTFERq] ຄໍາສັ່ງ [arg ... ]

ລາຍລະອຽດ


latrace tracer ແມ່ນສາມາດດໍາເນີນການຄໍາສັ່ງແລະສະແດງການເອີ້ນຫ້ອງສະຫມຸດແບບເຄື່ອນໄຫວຂອງມັນໂດຍໃຊ້ a
ຄຸນສົມບັດ LD_AUDIT libc, ມີໃຫ້ຕັ້ງແຕ່ libc ເວີຊັ່ນ 2.4 ເປັນຕົ້ນໄປ. ມັນຍັງສາມາດ
ວັດແທກແລະສະແດງສະຖິຕິຕ່າງໆຂອງການໂທແບບເຄື່ອນໄຫວ. ເບິ່ງພາກທີ່ເອີ້ນວ່າ
"ການສົນທະນາ" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ຖ້າໄຟລ໌ header ທີ່ມີການປະກາດຟັງຊັນໄດ້ຖືກສະຫນອງໃຫ້, latrace ຈະສະແດງ
ການໂຕ້ຖຽງຂອງຫນ້າທີ່. syntax ໄຟລ໌ header ແມ່ນຄ້າຍຄືກັນກັບພາສາ C, ກັບ
ຂໍ້ຍົກເວັ້ນຫຼາຍອັນ ເບິ່ງພາກສ່ວນທີ່ເອີ້ນວ່າ “ຫົວ” ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

latrace ໂດຍຄ່າເລີ່ມຕົ້ນຈະດໍາເນີນການຢ່າງເຕັມສ່ວນພາຍໃນໂຄງການຕິດຕາມ. ຢ່າງໃດກໍຕາມ, ອີກ "ທໍ່
ໂຫມດ" ສາມາດໃຊ້ໄດ້ເພື່ອຍ້າຍວຽກຕົ້ນຕໍໄປຫາ tracer - latrace binary. ເບິ່ງ
ພາກສ່ວນທີ່ເອີ້ນວ່າ "PIPE mode" ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ.

ການນໍາໃຊ້ latrace ແມ່ນຄ້າຍຄືກັນກັບ ສາຍແຮ່(1) ແລະ ຮອຍ(1).

OPTIONS


-l, --libs lib1[,lib2,...]
ການກວດສອບຈາກແລະໄປຫາ lib1, lib2 ...

-t, --libs-to lib1[,lib2,...]
ການກວດສອບກັບ lib1, lib2 ...

-f, --libs-from lib1[,lib2,...]
ການກວດສອບຈາກ lib1, lib2 ...

-s, --sym sym1[,sym2,...]
ສັນຍາລັກການກວດສອບ sym1, sym2 ...

-n, --sym-omit sym1[,sym2,...]
omit ສັນຍາລັກ sym1, sym2 ...

-L, --lib-subst s1[,s2,...]
ການໂຕ້ຕອບ objsearch LD_AUDIT (ເບິ່ງພາກສ່ວນທີ່ເອີ້ນວ່າ “OBJSEARCH”)

-c, --ນັບ
ສະແດງສະຖິຕິການນັບສັນຍາລັກ - ຫມາຍເຖິງໂຫມດທໍ່ (ເບິ່ງສ່ວນທີ່ເອີ້ນວ່າ "PIPE
ໂຫມດ”) ບໍ່ມີສັນຍາລັກອອກສະແດງ

-C, --sort-counts ສະຖິຕິ
ໝາຍເຖິງ -c, ບວກກັບການຈັດຮຽງສະຖິຕິຕາມສະຖິຕິດ້ວຍຄ່າຕໍ່ໄປນີ້:
ເວລາ, ຕໍ່, ໂທ, ucall, lib, sym (ຄ່າເລີ່ມຕົ້ນແມ່ນການໂທ)

-p, --ທໍ່
ໃຊ້ທໍ່ກັບຂະບວນການ latrace ເພື່ອສົ່ງຂໍ້ມູນການກວດສອບ (ເບິ່ງພາກສ່ວນທີ່ເອີ້ນວ່າ "PIPE mode")

-N, --conf
config file (ເບິ່ງພາກເອີ້ນວ່າ "CONFIG")

-A, --enable-args
ເປີດ​ໃຊ້​ງານ​ຜົນ​ຜະ​ລິດ arguments (ຄໍາ​ນິ​ຍາມ​ຈາກ /etc/latrace.conf​)

-D, --detail-args
ສະແດງ struct arguments ໃນລາຍລະອຽດເພີ່ມເຕີມ

-a, --args ໄຟລ໌
ລະບຸໄຟລ໌ຄໍານິຍາມຂອງ arguments, ຫມາຍຄວາມວ່າ -A (ໂດຍບໍ່ມີໄຟລ໌ຄໍານິຍາມໃນຕອນຕົ້ນຂອງ
ຫຼັກສູດ)

-y, --framesize number
framesize ສໍາລັບການເກັບຮັກສາ stack ກ່ອນ pltexit (ຄ່າເລີ່ມຕົ້ນ 100)

-Y, --no-framesize-check
ປິດການກວດສອບຂະຫນາດເຟຣມ

-F, --no-follow-fork
ຢ່າປະຕິບັດຕາມການໂທດ້ວຍສ້ອມ (ເດັກນ້ອຍ). ນີ້ແມ່ນພຽງແຕ່ການສະກັດກັ້ນຜົນຜະລິດ latrace ຈາກໃຫມ່
ເດັກນ້ອຍ. ລັກ​ສະ​ນະ​ຂອງ​ LD_AUDIT ຄຸນນະສົມບັດປ້ອງກັນການປິດການໃຊ້ງານຢ່າງສົມບູນ.

-E, --no-follow-exec
ຢ່າປະຕິບັດຕາມການໂທ exec

-S, --timestamp
ສະແດງເວລາສໍາລັບແຕ່ລະສັນຍາລັກ

-b, --flow-below sym1[,sym2,...]
ການສະແດງຜົນສໍາລັບ sym1, sym2 ...

-I, --no-indent-sym
ບໍ່​ມີ​ສັນ​ຍາ​ລັກ​ຫຍໍ້​ຫນ້າ​ໂດຍ​ອີງ​ໃສ່​ຄວາມ​ເລິກ stack ຂອງ​ເຂົາ​ເຈົ້າ​

-i, --indent-sym indent_size
ຂໍ້ກໍາຫນົດຂະໜາດຫຍໍ້ໜ້າໃນ indent_size

-B, --ວົງເລັບ
ສະແດງຕະຫຼອດ { } ສໍາ​ລັບ​ການ​ປະ​ມານ​ຮ່າງ​ກາຍ​ສັນ​ຍາ​ລັກ​

-d, --demangle
C++ demangle ສັນ​ຍາ​ລັກ​ກ່ຽວ​ກັບ​ຜົນ​ຜະ​ລິດ​ໄດ້​

-T, --hide-tid
ບໍ່ສະແດງ id thread

-o, --output file
ເກັບຮັກສາຜົນຜະລິດໄປຍັງໄຟລ໌

-R, --ctl-config
ຄຸນນະສົມບັດ config ຄວບຄຸມ

-q, --ປິດການໃຊ້ງານ
ດໍາເນີນການກັບການກວດສອບທີ່ພິການ

-v, --verbose
ຜົນຜະລິດ verbose

-V, - ຫັນ
ສະ​ບັບ​ສະ​ແດງ​

-h, --help
ສະແດງການຊ່ວຍເຫຼືອ

ຕົວຢ່າງ


· ວິທີທີ່ງ່າຍທີ່ສຸດໃນການແລ່ນ latrace ແມ່ນແບບນີ້:

cat larace

· ເພື່ອເບິ່ງຄ່າຂອງ argument ທີ່ລະບຸໄວ້ໂດຍການແລ່ນໄຟລ໌ config ເລີ່ມຕົ້ນ:

latrace -A cat

·ຄືກັນກັບຂ້າງເທິງ, ແຕ່ການນໍາໃຊ້ຮູບແບບທໍ່ເພື່ອໃຫ້ໄດ້ສັນຍາລັກສິ້ນສຸດທັງຫມົດທີ່ພິມອອກ:

latrace -Ap cat

· ເພື່ອເບິ່ງຄ່າຂອງ argument ທີ່ລະບຸໂດຍການແລ່ນໄຟລ໌ config ທີ່ລະບຸ:

latrace -a latrace.conf cat

· ເພື່ອ​ໃຫ້​ໄດ້​ຮັບ​ຜົນ​ຜະ​ລິດ​ພຽງ​ແຕ່​ສໍາ​ລັບ​ສັນ​ຍາ​ລັກ​ທີ່​ກໍາ​ນົດ​ໄວ້ (ເຊັ່ນ​: ອ່ານ​ແລະ​ຂຽນ​) ແລ່ນ​:

latrace -A -s ອ່ານ, ຂຽນ cat

·​ເພື່ອ​ໃຫ້​ໄດ້​ຮັບ​ການ​ໄຫຼ​ພາຍ​ໃຕ້​ສັນ​ຍາ​ລັກ​ທີ່​ລະ​ບຸ​ໄວ້ (eg. sysconf​) ແລ່ນ​:

latrace -b sysconf ຂ້າ

· ເພື່ອ​ໃຫ້​ໄດ້​ຮັບ​ຜົນ​ຜະ​ລິດ​ພຽງ​ແຕ່​ສໍາ​ລັບ​ຫ້ອງ​ສະ​ຫມຸດ​ທີ່​ກໍາ​ນົດ​ໄວ້ (ເຊັ່ນ​: libproc​) ແລ່ນ​:

latrace -Al libproc w

·​ເພື່ອ​ໃຫ້​ໄດ້​ຮັບ​ສະ​ຖິ​ຕິ​ສັນ​ຍາ​ລັກ​ແລ່ນ​:

latrace -c ls

·​ເພື່ອ​ໃຫ້​ໄດ້​ຮັບ​ສະ​ຖິ​ຕິ​ສັນ​ຍາ​ລັກ​ຈັດ​ລຽງ​ຕາມ​ການ​ດໍາ​ເນີນ​ການ​ທີ່​ໃຊ້​ເວ​ລາ​:

latrace -C ເວລາ ls

·​ເພື່ອ​ໃຫ້​ໄດ້​ຮັບ​ຜົນ​ຜະ​ລິດ​ເກັບ​ຮັກ​ສາ​ໄວ້​ກັບ​ໄຟລ​໌​ຂໍ້​ຄວາມ​ທີ່​ດໍາ​ເນີນ​ການ​:

latrace -o output.latrace ls

· ການ​ປ່ຽນ​ແປງ​ການ​ຂຶ້ນ​ກັບ libkrava1.so ກັບ libkrava2.so ໃຫ້​ດໍາ​ເນີນ​ການ​ຫນຶ່ງ​ໃນ​ເຫຼົ່າ​ນີ້​:

latrace -L krava1%krava2 ex

latrace -L krava1~libkrava2.so ex

latrace -L libkrava1.so=libkrava2.so ex

ການສົນທະນາ


ຊື່ CHECK
ສຳ ລັບທາງເລືອກ "-l -t -f -s -n -b" ໄດ້ * ສັນຍາລັກສາມາດຖືກໃຊ້ເພື່ອສະຫຼັບໄປຫາສະຕຣິງຍ່ອຍ
ຄົ້ນຫາ. ຖ້າມັນບໍ່ໄດ້ຖືກລະບຸ, ການຄົ້ນຫາທີ່ແນ່ນອນສໍາລັບຊື່ແມ່ນເຮັດ.

ຕົວຢ່າງ:

-s "*krava" ກວດເບິ່ງສັນຍາລັກທີ່ມີ "krava" substring.

-s "krava" ກວດເບິ່ງພຽງແຕ່ສໍາລັບ "krava" ສັນຍາລັກ

LD_AUDIT
ນີ້ແມ່ນພຽງແຕ່ຄໍາອະທິບາຍສັ້ນໆແລະບໍ່ຊັດເຈນຂອງ LD_AUDIT ຄຸນ​ນະ​ສົມ​ບັດ. ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ
ເບິ່ງ rtld-ການກວດສອບ(7​) ຜູ້ຊາຍເຮັດໂດຍ Petr Baudis ຫຼືສຶກສາລະຫັດແຫຼ່ງ glibc/latrace. ຫຼາຍ
ຄໍາອະທິບາຍສັ້ນໆດັ່ງຕໍ່ໄປນີ້.

ຄຸນນະສົມບັດການກວດສອບຕົວເຊື່ອມຕໍ່ແບບເຄື່ອນໄຫວ libc ອະນຸຍາດໃຫ້ຕິດຕາມ / ກວດສອບສັນຍາລັກ / ຫ້ອງສະຫມຸດຂອງໂຄງການ.
ຄຸນນະສົມບັດໄດ້ຖືກເປີດໃຊ້ງານໂດຍ LD_AUDIT ສະພາບແວດລ້ອມປ່ຽນແປງ. ຕົວແປນີ້ຕ້ອງມີ
ເສັ້ນທາງໄປຫາຫ້ອງສະຫມຸດທີ່ໃຊ້ຮ່ວມກັນໃນການກວດສອບ. ຫ້ອງສະໝຸດການກວດສອບນີ້ຕ້ອງປະຕິບັດຕາມສ່ວນຕິດຕໍ່ສະເພາະ.
ຟັງຊັນການໂຕ້ຕອບຈະຖືກເອີ້ນໂດຍຕົວເຊື່ອມຕໍ່ແບບເຄື່ອນໄຫວຕາມຄວາມເຫມາະສົມ.

ຫ້ອງສະໝຸດການກວດສອບຕ້ອງການສົ່ງອອກສັນຍາລັກຕໍ່ໄປນີ້ (the "la_PLTENTER" ແລະ "la_PLTEXIT"
ຊື່ແມ່ນຂຶ້ນກັບສະຖາປັດຕະຍະກໍາ).

"la_activity"
"la_objsearch"
"la_objopen"
"la_preinit"
"la_symbind32"
"la_symbind64"
"la_PLTENTER"
"la_PLTEXIT"
"la_objclose"

ສໍາລັບຊຸດ latrace, ຫໍສະຫມຸດແບ່ງປັນການກວດສອບແມ່ນເອີ້ນວ່າ libltaudit.so.

OBJSEARCH
ການຄົ້ນຄວ້າ LD_AUDIT ການໂຕ້ຕອບສະຫນອງວິທີການສໍາລັບການປ່ຽນແປງໂຄງການ traced ແບ່ງປັນວັດຖຸ
ຊື່/ສະຖານທີ່. ການໂຕ້ຖຽງທາງເລືອກ -L ຄວນຈະມີຮູບແບບດັ່ງຕໍ່ໄປນີ້:

-L s1[,s2,...] sN ຢູ່ໃສ src [=%~]

ໄດ້ src ແມ່ນ​ຮູບ​ແບບ​ທີ່​ມາ / ຊື່​ແລະ​ ແມ່ນຊື່/ຮູບແບບປາຍທາງ.

= ການປຽບທຽບ src ກັບຫ້ອງສະໝຸດ
ຊື່. ຖ້າກົງກັນ, ແທນທີ່
ຊື່ຫ້ອງສະຫມຸດທີ່ມີ dst.
ຊື່ຫ້ອງສະຫມຸດ - /lib/krava1.so
src - /lib/krava1.so
dst - /lib/krava2.so

ຊື່ຫ້ອງສະຫມຸດສຸດທ້າຍ - /lib/krava2.so

% ຊອກຫາ src ໃນຊື່ຫ້ອງສະຫມຸດ. ຖ້າ
ພົບ, ແທນທີ່ src ດ້ວຍສ່ວນ dst.
ຊື່ຫ້ອງສະຫມຸດ - /lib/krava1.so
src - krava1
dst - krava2

ຊື່ຫ້ອງສະຫມຸດສຸດທ້າຍ - /lib/krava2.so

~ ຊອກຫາ src ໃນຊື່ຫ້ອງສະຫມຸດ. ຖ້າ
ພົບ, ປ່ຽນຊື່ຫ້ອງສະໝຸດດ້ວຍ dst.
ຊື່ຫ້ອງສະຫມຸດ - /lib/krava1.so
src - krava1
dst - /lib/krava2.so

ຊື່ຫ້ອງສະຫມຸດສຸດທ້າຍ - /lib/krava2.so

ທໍ່ ຮູບແບບການ
ໄດ້ ເສັ້ນດ່າງ ສາ​ມາດ​ເຮັດ​ວຽກ​ຢູ່​ໃນ​ສອງ​ຮູບ​ແບບ​. ທໍາອິດ native ບໍ່ຜົນຜະລິດໂດຍກົງໃນ
ຂະບວນການໂຄງການຕິດຕາມ. ອີກອັນນຶ່ງ, ທໍ່ ໂຫມດໃຊ້ກົນໄກ IPC fifo ເພື່ອສົ່ງ
ຂໍ້ມູນຈາກຂະບວນການ traced ກັບຂະບວນການ latrace. ຂະບວນການ latrace ແມ່ນຫຼັງຈາກນັ້ນ
ຮັບ​ຜິດ​ຊອບ​ສໍາ​ລັບ​ຜົນ​ຜະ​ລິດ​ໄດ້​. ການ​ນໍາ​ໃຊ້​ຮູບ​ແບບ​ທໍ່​ທີ່​ທ່ານ​ປົດ​ອອກ​ມາດ​ຕະ​ຖານ​ໂຄງ​ການ traced​
ບໍລິບົດຜົນຜະລິດທີ່ມີສັນຍາລັກພິມ.

ໂດຍການນໍາໃຊ້ ທໍ່ ຮູບແບບ, latrace ແມ່ນບໍ່ຂຶ້ນກັບໂຄງການຕິດຕາມ
ການນໍາໃຊ້ / ການຫມູນໃຊ້ຂອງຕົວອະທິບາຍຜົນຜະລິດມາດຕະຖານ. ສະຖິຕິສັນຍາລັກຍັງນັບ
-c, -C ທາງເລືອກໃນການ ການນໍາໃຊ້ ທໍ່ ຮູບ​ແບບ​ການ​ໂອນ​ຂໍ້​ມູນ​ສັນ​ຍາ​ລັກ​ກັບ​ຖານ​ສອງ latrace​, ແລະ​
latrace binary ເຮັດການນັບໃນຕອນທ້າຍຂອງ.

ກອງປະຊຸມ
latrace ໃຫ້​ຄວາມ​ເປັນ​ໄປ​ໄດ້​ທີ່​ຈະ​ເປີດ / ປິດ​ການ​ທໍາ​ງານ​ບາງ​ທາງ​ເລືອກ​ໂດຍ​ການ​
ໄຟລ​໌​ການ​ຕັ້ງ​ຄ່າ​. ບາງທາງເລືອກແມ່ນເຊື່ອມຕໍ່ກັບການໂຕ້ຖຽງເສັ້ນຄໍາສັ່ງບາງສ່ວນຂອງ
ເຂົາເຈົ້າບໍ່ແມ່ນ. ເມື່ອ latrace ເລີ່ມຕົ້ນ, ໄຟລ໌ການຕັ້ງຄ່າທົ່ວໂລກຈະຖືກອ່ານ. ໄຟລ໌ນີ້ແມ່ນ
ປົກກະຕິແລ້ວຈະຖືກວາງໄວ້ຢູ່ທີ່ນີ້:

/etc/latrace.d/latrace.conf

ມີຄ່າເລີ່ມຕົ້ນທີ່ອ່ານຈາກໄຟລ໌ນີ້, ຜູ້ໃຊ້ສາມາດ overload ໃດໆຂອງພວກເຂົາໂດຍເສັ້ນຄໍາສັ່ງ
ທາງເລືອກຫຼືໂດຍການ supling ໄຟລ໌ config ອື່ນໂດຍຜ່ານ -N, --conf ທາງເລືອກ.

syntax ໄຟລ໌ການຕັ້ງຄ່າແມ່ນປະມານ:

ຮວມ

ຕົວເລືອກ {
OPTION1 = VALUE
OPTION2 = ແມ່ນ|ບໍ່
...
OPTIONN = VALUE
}

# ຄຳເຫັນ

ການຕັ້ງຄ່າ ເອກະສານ ທາງເລືອກໃນການ

Headers = ໄຟລ໌
-a, --args

INDENT_SYM = VALUE
-i, --indent-sym

PIPE = BOOL
-p, --ທໍ່

TIMESTAMP = BOOL
-S, --timestamp

FRAMESIZE = VALUE
-y, --framesize

FRAMESIZE_CHECK = BOOL
-Y, --no-framesize-check

HIDE_TID = BOOL
-T, --hide-tid

FOLLOW_FORK = BOOL
-F, --no-follow-fork

FOLLOW_EXEC = BOOL
-E, --no-follow-exec

DEMANGLE = BOOL
-d, --demangle

BRACES = BOOL
-B, --ວົງເລັບ

ENABLE_ARGS = BOOL
-A, --enable-args

DETAIL_ARGS = BOOL
-D, --detail-args

OUTPUT_TTY = FILE

·ເກັບຮັກສາ tracee terminal output ກັບໄຟລ໌

LIB = LIB1[,LIB2,...]
-l, --libs

LIBS_TO = LIB1[,LIB2,...]
-t, --libs-to

LIBS_FROM = LIB1[,LIB2,...]
-f, --libs-ຈາກ

SYM = SYM1[,SYM2,...]
-s, --sym

SYM_OMIT = SYM1[,SYM2,...]
-n, --sym-omit

SYM_BELOW = SYM1[,SYM2,...]
-b, --flow-ຂ້າງລຸ່ມ

SYM_NOEXIT = SYM1[,SYM2,...]

· ສັນ​ຍາ​ລັກ​ທີ່​ບໍ່​ມີ​ການ​ດໍາ​ເນີນ​ການ​ອອກ callback (plt_exit​)

ARGS_STRING_POINTER_LENGTH = BOOL

· ການໂຕ້ຖຽງຟັງຊັນ - ສະແດງຄວາມຍາວຂອງສະຕຣິງ ແລະຄ່າຕົວຊີ້

ຫົວ
ໄຟລ໌ header latrace ອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດກໍານົດສັນຍາລັກເປັນຫນ້າທີ່ C ຄລາສສິກກັບ
ການໂຕ້ຖຽງ. ຊື່ອາກິວເມັນຈະຖືກສະແດງພ້ອມໆກັນກັບຄ່າທີ່ເປັນຜົນອອກມາຂອງ latrace.
ການໂຕ້ຖຽງຫຼາຍແມ່ນຖືກກໍານົດ, ການປະຕິບັດແລະການລົງໂທດຄວາມຈໍາຫຼາຍຄວນຈະເປັນ
ຄາດວ່າ.

ແພັກເກັດຖືກສົ່ງກັບໄຟລ໌ສ່ວນຫົວທີ່ກໍານົດໄວ້ລ່ວງໜ້າຫຼາຍອັນສໍາລັບການນໍາໃຊ້ທົ່ວໄປທີ່ສຸດ
ຫນ້າທີ່. ບັນຊີລາຍຊື່ຂອງໄຟລ໌ header glibc ທີ່ໃຊ້ຕໍ່ໄປນີ້ (ບັນຊີລາຍຊື່ສ່ວນໃຫຍ່ແມ່ນປະຕິບັດຕາມ ltrace
ບັນ​ຊີ​ລາຍ​ຊື່​ໄຟລ​໌ header​, ແລະ​ຜູ້​ຂຽນ​ເຕັມ​ໃຈ​ທີ່​ຈະ​ປັບ​ປຸງ​ມັນ​ຕາມ​ຄວາມ​ຕ້ອງ​ການ​)

ctype.h dirent.h dlfcn.h fcntl.h getopt.h inet.h ioctl.h
libintl.h libio.h locale.h misc.h mman.h ncurses.h netdb.h
pthread.h pwd.h resource.h signal.h socket.h stat.h stdio.h
stdlib.h string.h syslog.h term.h termios.h time.h typedefs.h
unistd.h utmp.h wait.h

ປົກກະຕິແລ້ວໄຟລ໌ຫົວ latrace ຈະຖືກເກັບໄວ້ພາຍໃຕ້ໄດເລກະທໍລີ:

/etc/latrace.d/headers/

ຜູ້ໃຊ້ສາມາດລະບຸໄຟລ໌ຫົວດຽວໂດຍໃຊ້ຕົວເລືອກແຖວຄໍາສັ່ງຫຼືໄຟລ໌ການຕັ້ງຄ່າ. ນີ້
ໄຟລ໌ຫຼັງຈາກນັ້ນສາມາດປະກອບມີສ່ວນຫົວທີ່ຈໍາເປັນອື່ນໆ. ດັ່ງທີ່ໄດ້ກ່າວມາແລ້ວ, ໄຟລ໌ config latrace
syntax ເລັກນ້ອຍປະຕິບັດຕາມໄວຍະກອນພາສາ C. ພາກສ່ວນຕໍ່ໄປນີ້ອະທິບາຍການຕັ້ງຄ່າ latrace
ພາສາໄຟລ໌.

· ຫຼາຍ POD ປະເພດ (ຂໍ້ມູນເກົ່າທໍາມະດາ), ແມ່ນ hardcoded ໃນ latrace. ຂະຫນາດຂອງການໂຕ້ຖຽງເຫຼົ່ານັ້ນ
ຖືກກໍານົດໂດຍຂະຫນາດຂອງມະຫາພາກ. ບັນຊີລາຍຊື່ດັ່ງຕໍ່ໄປນີ້.

void
char u_char
ສັ້ນ u_short
int u_int
ຍາວ u_long
ຍາວ u_llong # (ຍາວ ຍາວ)
ລອຍສອງເທົ່າ

·ທ ພິມປະເພດ ຄໍາສໍາຄັນອະນຸຍາດໃຫ້ກໍານົດປະເພດໃຫມ່ໂດຍອີງໃສ່ອັນທີ່ມີຢູ່ແລ້ວ (POD
ຫຼື typedefed). ເຖິງແມ່ນວ່າມີວິທີການຫຼາຍຊັ້ນ pointer ໃນປະເພດ
ຄໍານິຍາມ (*), ພຽງແຕ່ຫນຶ່ງແມ່ນປະຕິບັດ.

typedef base_type new_type;
typedef base_type * new_type;
typedef base_type ** new_type;

· ຄວາມຄິດເຫັນ ປະຕິບັດຕາມແບບ C /\* \*/ ຕາມເຫດຜົນ.

/\* ຄຳເຫັນ \*/

·ທ ປະກອບດ້ວຍ ຄໍາສໍາຄັນອະນຸຍາດໃຫ້ປະກອບມີໄຟລ໌ config ອື່ນ.

#ລວມທັງ "ຊື່ໄຟລ໌"

·ທ ໂຄງສ້າງ ຄໍາສໍາຄັນອະນຸຍາດໃຫ້ກໍານົດໂຄງສ້າງ. syntax ປະຕິບັດຕາມໄວຍະກອນ
ກົດລະບຽບ.

START:: ໂຄງສ້າງ NAME { STRUCT_DEF } ;
STRUCT_DEF:: DEF | ຫວ່າງເປົ່າ
DEF:: ຊື່ NAME |
NAME '*' NAME |
ໂຄງສ້າງ NAME NAME |
ໂຄງສ້າງ NAME '*' NAME
NAME:: [-0-9a-zA-Z_]+

·ທ ຫນ້າທີ່ ຄໍານິຍາມປະຕິບັດຕາມ syntax ຕໍ່ໄປນີ້ (DEF ແລະ NAME ແມ່ນຄືກັນກັບສໍາລັບ
ນິຍາມໂຄງສ້າງ).

START:: DEF '(' ARGS ')' ';'
ARGS:: ARGS ',' DEF | DEF | ຫວ່າງເປົ່າ

·ທ enum ຄໍານິຍາມປະຕິບັດຕາມ syntax ຕໍ່ໄປນີ້ (NAME ແມ່ນຄືກັນກັບຄໍານິຍາມໂຄງສ້າງ).

START:: ENUM NAME '{' ENUM_DEF '}' ' ;'
ENUM_DEF:: ENUM_DEF ',' ENUM_ELEM | ENUM_ELEM
ENUM_ELEM:: NAME '=' NAME | NAME

· ຕົວຢ່າງຂອງໄຟລ໌ config latrace ງ່າຍດາຍ.

---[ຕັດ​ຕໍ່​]--------------------------------
enum krava {
krava1 = 1,
krava2,
krava3 = 100
};

#ລວມທັງ "krava.conf"

typedef u_int pid_t;

ໂຄງສ້າງ ex_st {
pid_t p ;
int cnt;
char *ຊື່;
};

int f1(pid_t p, ໂຄງສ້າງ ex_st *k);
int f2(char* name, struct ex_st k, int k = krava);
struct ex_st* f3(pid_t *p, struct ex_st k);
---[ຕັດ​ຕໍ່​]--------------------------------

· Arrays ຍັງບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນເທື່ອ, ດັ່ງນັ້ນບໍ່ມີວິທີທີ່ຈະກໍານົດໂຄງສ້າງບາງຢ່າງ. ສໍາລັບການດັ່ງກ່າວເປັນ
ໂຄງສ້າງໃຊ້ void* type ບ່ອນທີ່ການໂຕ້ຖຽງໂຄງສ້າງຖືກສົ່ງຜ່ານຕົວຊີ້. ຖ້າ​ຫາກ​ວ່າ​ມັນ
ແມ່ນຜ່ານມູນຄ່າ, ບໍ່ມີການແກ້ໄຂມາເຖິງຕອນນັ້ນ (ນອກຈາກການຕື່ມໂຄງສ້າງ
ຮ່າງກາຍທີ່ມີປະເພດ POD ເຖິງຄວາມຍາວທີ່ແທ້ຈິງຂອງໂຄງສ້າງ :).

· ລາຍຊື່ການໂຕ້ຖຽງຕົວແປ (va_list/...) ຍັງບໍ່ຮອງຮັບເທື່ອ. ນິຍາມຟັງຊັນ
ຈໍາເປັນຕ້ອງຢຸດເຊົາກ່ອນທີ່ຈະເປັນ argument ບັນຊີລາຍຊື່ຕົວແປທໍາອິດ argument.


latrace ຄວນເຮັດວຽກຢູ່ໃນລະບົບ glibc ໃດໆທີ່ມີການສະຫນັບສະຫນູນ LD_AUDIT. ແນວໃດກໍ່ຕາມການໂຕ້ຖຽງ
ລາຍລະອຽດແມ່ນສະຖາປັດຕະຍະກໍາສະເພາະແລະຕ້ອງການການສະຫນັບສະຫນູນພິເສດພາຍໃນ latrace ຕົວຂອງມັນເອງ.

ຜູ້ຂຽນແມ່ນເຕັມໃຈທີ່ຈະ port latrace ກັບສະຖາປັດຕະໃດກໍ່ຕາມ, ຕາບໃດທີ່ລາວໄດ້ຮັບການເຂົ້າເຖິງ
ລະ​ບົບ​ທີ່​ສອດ​ຄ້ອງ​ກັນ​. ທ່າເຮືອທີ່ມີປະໂຫຍດໃນປັດຈຸບັນແມ່ນ:

x86 ok

x86_64 ok

ແຂນ ok

ໃຊ້ latrace ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

  • 1
    Python ຕົວເລກ
    Python ຕົວເລກ
    ຂ່າວ: NumPy 1.11.2 ເປັນການປ່ອຍຄັ້ງສຸດທ້າຍ
    ທີ່ຈະເຮັດໃນ sourceforge. ລໍ້
    ສໍາລັບ Windows, Mac, ແລະ Linux ເຊັ່ນດຽວກັນກັບ
    ການແຈກຢາຍແຫຼ່ງທີ່ເກັບໄວ້ໃນແຟ້ມສາມາດເປັນສີ່...
    ດາວໂຫລດ Numerical Python
  • 2
    CMU Sphinx
    CMU Sphinx
    CMUSphinx ເປັນລໍາໂພງເອກະລາດຂະຫນາດໃຫຍ່
    ການຮັບຮູ້ສຽງເວົ້າຢ່າງຕໍ່ເນື່ອງຂອງຄໍາສັບ
    ປ່ອຍອອກມາພາຍໃຕ້ໃບອະນຸຍາດແບບ BSD. ມັນ​ແມ່ນ
    ຍັງເປັນການເກັບກໍາຂອງເຄື່ອງມືແຫຼ່ງເປີດ ...
    ດາວໂຫລດ CMU Sphinx
  • 3
    PyScripter
    PyScripter
    PyScripter ເປັນ Python ແຫຼ່ງເປີດ
    ສະພາບແວດລ້ອມການພັດທະນາແບບປະສົມປະສານ (IDE)
    ສ້າງຂຶ້ນດ້ວຍຄວາມທະເຍີທະຍານທີ່ຈະກາຍເປັນ
    ແຂ່ງຂັນໃນການເຮັດວຽກກັບ
    ການ​ຄ້າ​ຂ້າ​ພະ​ເຈົ້າ ...
    ດາວໂຫລດ PyScripter
  • 4
    ເກົ່າ Feren OS Repositories
    ເກົ່າ Feren OS Repositories
    ນີ້ແມ່ນບ່ອນເກັບມ້ຽນຢ່າງເປັນທາງການສໍາລັບ
    Feren OS. ເພື່ອເພີ່ມອັນຫຼ້າສຸດ, ໃຫ້ແລ່ນ
    ຄໍາສັ່ງນີ້: (16.04-based) echo
    "ເດບ...
    ດາວໂຫລດ Old Feren OS Repositories
  • 5
    OmegaT - multiplatform CAT tool
    OmegaT - multiplatform CAT tool
    OmegaT ເປັນແຫຼ່ງຟຣີ ແລະເປີດ
    Multiplatform Computer Assisted
    ເຄື່ອງ​ມື​ການ​ແປ​ພາ​ສາ​ທີ່​ມີ​ການ​ຈັບ​ຄູ່ fuzzy​,
    ຫນ່ວຍຄວາມຈໍາການແປພາສາ, ຊອກຫາຄໍາສໍາຄັນ,
    ຄໍາ​ສັບ​ປະ​ດາ​, ແລະ tran ...
    ດາວໂຫລດ OmegaT - multiplatform CAT tool
  • 6
    butt (ອອກອາກາດໂດຍໃຊ້ເຄື່ອງມືນີ້)
    butt (ອອກອາກາດໂດຍໃຊ້ເຄື່ອງມືນີ້)
    butt (ອອກອາກາດໂດຍໃຊ້ເຄື່ອງມືນີ້) ເປັນ
    ງ່າຍ​ທີ່​ຈະ​ນໍາ​ໃຊ້​, ເຄື່ອງ​ມື​ນ​້​ໍ​າ OS ຫຼາຍ​. ມັນ
    ສະຫນັບສະຫນູນ ShoutCast ແລະ IceCast ແລະແລ່ນ
    ໃນ Linux, MacOS ແລະ Windows. ຕົ້ນ​ຕໍ pu...
    ດາວໂຫລດ butt (ອອກອາກາດໂດຍໃຊ້ເຄື່ອງມືນີ້)
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

Ad