EnglishFrenchSpanyol

Ad


Favicon OnWorks

abicheck - Dalam talian di Awan

Jalankan abicheck dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan abicheck yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


abicheck - semak perduaan aplikasi untuk panggilan ke simbol peribadi atau berkembang dalam
perpustakaan dan untuk pautan statik beberapa perpustakaan sistem.

SINOPSIS


abicheck [-h] [-k] [-a] [-I] [-v] [-f listfile] [-atau fail luar] [-hlm corak] [-e corak] [-j
njobs] [-l perpustakaan] [-L ldpath] [(-s|-S) dbfile] [(-d|-D) dbfile] [-O dbfile] [-A
listfile] fail

DESCRIPTION


abicheck dijalankan pada binari aplikasi dan mengeluarkan amaran apabila mana-mana perkara berikut
tiga keadaan dikesan:

· Swasta lambang penggunaannya. Simbol peribadi ialah fungsi atau pembolehubah data dalam perpustakaan
pakej yang dalaman kepada pakej itu. Ia digunakan oleh perpustakaan dalam pakej
untuk komunikasi dalaman dan bukan sebahagian daripada API/ABI yang pembangun aplikasi
patut guna.

· Berkembang lambang penggunaannya. Simbol yang berkembang ialah fungsi atau pembolehubah data dalam perpustakaan
pakej yang bertujuan untuk penggunaan pembangun, tetapi telah ditandakan sebagai "berkembang" atau
"tidak stabil" dalam erti kata ia mungkin menjadi tidak serasi atau hilang pada keluaran kemudian
daripada pakej perpustakaan.

· statik menghubungkan. Pemautan statik perpustakaan sistem (contohnya, libc.a) ke dalam
aplikasi secara amnya bukan idea yang baik kerana kod perpustakaan sistem yang "dikunci" ke dalamnya
binari aplikasi mungkin menjadi tidak serasi dengan keluaran sistem kemudiannya. abicheck
percubaan untuk mengesan pautan statik beberapa perpustakaan sistem.

Tingkah laku lalai adalah, untuk setiap objek binari yang disemak, untuk memeriksa panggilan terus daripada itu
objek binari sahaja. The -l pilihan membenarkan perpustakaan yang dibawa oleh objek binari untuk dimiliki
panggilan mereka diperiksa juga.

PILIHAN


Pilihan berikut disokong:

-k Teruskan menyemak binari walaupun terdapat ralat yang serius (laporan pemaut dinamik
simbol yang tidak dapat diselesaikan, ldd(1) kegagalan, tiada simbol dikesan).

-h Cetak bentuk bantuan yang panjang.

-v Berkata-kata. Cetak maklumat tambahan.

-f fail senarai
. fail senarai ialah fail yang mengandungi senarai objek binari untuk diperiksa, satu setiap baris.
Senarai ini dilampirkan pada mana-mana fail yang disediakan sebagai hujah pada baris arahan. Jika
fail senarai ialah "-", kemudian stdin digunakan.

-o fail luar
Tulis output ke fail luar bukannya stdout.

-p pola
Ubah suai set versi peribadi pelabelan corak nama versi padanan. Lalai ialah
/swasta/ menggunakan padanan yang tidak peka huruf besar-besaran.

Jika komponen regex pola mengandungi dua titik bertindih berturut-turut: patt1::patt2,
maka padanan peringkat simbol akan diaktifkan dengan menyemak sama ada versi::simbol or
perpustakaan::simbol perlawanan pola (di mana nama simbol, versi (jika ada), dan
nama asas perpustakaan digantikan dengan lambang, versi, dan perpustakaan). Sebagai contoh,

-p 'FOO_VERS.*::_foopriv'
or
-p 'libfoo.so.*::_foopriv'

-e pola
Sama seperti -p tetapi untuk antara muka yang "berkembang".

-L ldpath
Menetapkan LD_LIBRARY_PATH pemboleh ubah persekitaran ke ldpath sebelum menggunakan dinamik
penghubung. guna -L "" untuk menyahset LD_LIBRARY_PATH.

Jika salah satu daripada komponen ldpath ialah rentetan "cari", kemudian semua perpustakaan kongsi
in fail ditemui dan laluan mereka dimasukkan ke dalam lokasi "cari". Perhatikan bahawa
pesanan akan rawak.

-l perpustakaan
Tambahkan nama asas atau nama laluan penuh pustaka kongsi perpustakaan kepada senarai
objek untuk diperiksa untuk membuat panggilan peribadi. Pilihan ini mungkin berlaku lebih daripada
sekali pada baris arahan dan bersifat aditif. Secara lalai, hanya panggilan terus daripada a
binari kepada perpustakaan sistem disemak. The -l suis membenarkan pemeriksaan
panggilan tidak langsung cth: app -> supportlib -> systemlib.

-a Gelung melalui semua binari sebelum menyemak dan kumpulkan senarai semua yang dikongsi
objek. Ambil nama asas setiap objek kongsi yang ditemui dan bertindak seolah-olah ia adalah
dinyatakan dengan -l pilihan pilihan dan kemudian jalankan semakan abicheck. dengan cara ini,
panggilan daripada semua objek "dalaman aplikasi" disemak dan bukannya hanya
panggilan terus. (Berguna apabila objek kongsi tidak mempunyai kebergantungan mereka
direkodkan.)

-I Abaikan perpustakaan kongsi semasa menyemak, semak hanya boleh laku. Bersesuaian dengan -A,
perpustakaan akan dicari dahulu tetapi kemudian tidak disemak.

-d dbfile, -D dbfile
Tentukan pangkalan data simbol fail rata sandaran untuk dinamik (awam vs. peribadi)
ujian. Klasifikasi ini akan digunakan jika perpustakaan tidak versi (cth
pengelasan tidak wujud dalam perpustakaan itu sendiri). guna -D untuk menunjukkan itu sahaja
maklumat daripada dbfile sepatutnya digunakan. Garisan masuk dbfile boleh menjadi salah satu daripada ini
borang:

perpustakaan|simbol
perpustakaan|kelas|simbol
perpustakaan|FILE=path

perpustakaan mestilah laluan penuh ke perpustakaan untuk ditentukan (ia tidak boleh a
nama asas).

Borang pertama menandakan lambang sebagai peribadi.

Borang kedua menandakan lambang bersama kelas di mana kelas mungkin awam, swasta, atau
berkembang.

Borang ketiga menunjukkan fail jalan hendaklah dibuka atas permintaan apabila perpustakaan is
pertama kali ditemui. Fail jalan mengandungi baris dua bentuk pertama kecuali untuk
perpustakaan padang. Bentuk ketiga adalah mempercepatkan untuk mengelakkan pemprosesan banyak klasifikasi
baris untuk perpustakaan tidak pernah ditemui dalam larian.

-O dbfile
Tentukan fail ganti untuk mengubah suai klasifikasi simbol untuk dinamik
(awam lwn swasta) ujian. Format untuk fail ganti adalah seperti:

perpustakaan|simbol|kelas

Pustaka boleh menjadi laluan penuh atau nama asas. Jika perpustakaan ialah "__SKIP__" simbolnya
akan diabaikan untuk mana-mana perpustakaan yang terdapat di dalamnya. Kelas boleh menjadi "awam",
"peribadi", "berkembang", atau "dipadamkan". Kelas "dipadamkan" adalah huruf khas, bermakna
simbol itu telah dipadamkan daripada pustaka pada beberapa keluaran. Simbol "__SEMUA__" untuk
kelas "dipadamkan" bermakna keseluruhan perpustakaan telah dipadamkan atau sebaliknya tidak stabil
untuk menggunakan.

Contoh:

libfoo.so.1|__bar|peribadi
/lib/libxyz.so.1|baz|awam
__SKIP__|__fputwc_xpg5

Tetapan ini mengatasi sebarang klasifikasi di dalam perpustakaan (daripada perpustakaan
versi, boleh didapati daripada pvs(1), dsb).

-A fail senarai
Tetapkan perpustakaan ABI yang diminati kepada perpustakaan yang disenaraikan fail senarai (penuh
nama laluan, satu setiap baris). Hanya panggilan ke dalam perpustakaan ini akan disemak; semua
panggilan perpustakaan lain akan diabaikan.

-s dbfile, -S dbfile
Tentukan pangkalan data simbol yang lebih luas untuk ujian pemautan statik. dbfile mungkin
senarai fail yang dipisahkan koma. Jika fail ialah arkib statik (lib*.a) ia adalah
diproses untuk mengekstrak simbol. Jika tidak ia adalah fail pangkalan data yang terdiri daripada
baris simbol bentuk|library:modul sebagai contoh:

shmat|/usr/lib/libc.a:shmsys.o
shmctl|/usr/lib/libc.a:shmsys.o
shmdt|/usr/lib/libc.a:shmsys.o
shmget|/usr/lib/libc.a:shmsys.o
...

Apabila semua simbol dalam modul.o ditakrifkan dalam aplikasi, pemautan statik bagi
modul itu (dan arkib perpustakaan yang sepadan) diandaikan. guna -S untuk menunjukkan
bahawa hanya ujian pautan statik harus dilakukan.

Penggunaan -S int untuk melakukan semakan pautan statik sahaja dan menggunakan pangkalan data dalaman.

Penggunaan -s tiada or -S tiada untuk melangkau semakan pemautan statik sepenuhnya.

-j njobs
Main njobs selari sebagai proses yang berasingan. menyiratkan -k. Terutamanya bertujuan untuk
berbilang mesin CPU di mana njobs hendaklah hampir dengan bilangan pemproses.
Output dikumpul dalam fail tmp dan dicetak sekali gus berhampiran penghujung larian sebagai
setiap kerja selesai.

If njobs ialah "-", "kesan", atau "n", kemudian njobs akan ditetapkan kepada nombor bergantung pada
bilangan pemproses pada mesin semasa (jika itu boleh ditentukan).

OPERAND


Operan berikut disokong:

fail Senarai objek binari aplikasi untuk diperiksa.

OUTPUT


Terdapat satu baris setiap masalah (mungkin terdapat berbilang masalah bagi setiap binari yang diperiksa) yang
kelihatan seperti berikut:

Jika tiada masalah ditemui:
nama fail: OKEY

Jika penggunaan simbol peribadi:
nama fail: SWASTA (perpustakaan:versi_peribadi) private_sym

Jika penggunaan simbol berkembang:
nama fail: BERKEMBANG (perpustakaan:evolving_vers) evolving_sym

Jika fail dipautkan secara statik dalam perpustakaan arkib sistem:
nama fail: STATIC_LINK (arkib)

Jika penyemakan fail telah dilangkau:
nama fail: SKIP (sebab)

Di bawah penggunaan kelas yang dipadam dalam -O mengatasi pilihan fail, masalah ini mungkin
dijumpai:

Jika simbol telah dipadamkan daripada pustaka pada beberapa keluaran:
nama fail: DELETED_SYM: lambang/perpustakaan

(perpustakaan akan "tidak terikat" jika simbol tidak terikat)

Jika keseluruhan pustaka telah dipadamkan pada beberapa keluaran atau sebaliknya tidak stabil untuk
menggunakan:
nama fail: UNSTABLE_LIB: perpustakaan-sonname = jalan perpustakaan

(jalan perpustakaan mungkin "fail tidak dijumpai" jika perpustakaan tidak dapat ditemui)

Masalah berikut akan menyebabkan ralat maut melainkan jika -k pilihan digunakan:

Jika pemaut dinamik tidak dapat diselesaikan N simbol apabila ldd -r telah dijalankan:
nama fail: UNBOUND_SIMBOLS: N

Jika pemaut dinamik tidak menemui pengikatan dinamik:
nama fail: TIADA_IKATAN

If ldd -r bersama LD_DEBUG=fail, binding gagal:
nama fail: LDD_ERROR

Dalam tiga kes terakhir ini dijalankan ldd -r pada fail binari untuk maklumat lanjut tentang apa
telah tersilap (perhatikan bahawa abicheck berjalan ldd -r bersama LD_DEBUG=fail, binding ditetapkan). Pada beberapa
sistem pemaut dinamik tidak akan memproses program SUID dengannya LD_DEBUG set (ini biasanya
hasil dalam TIADA_IKATAN dalam abicheck pengeluaran).

Ambil perhatian bahawa jika anda menjalankan abicheck pada pustaka kongsi (contohnya, libfoo.so) itu
mempunyai tidak telah dibina dengan -l lib bendera untuk merekodkan kebergantungan perpustakaannya, kemudian "unbound
simbol" masalah sangat mungkin. Tidak banyak yang boleh dilakukan selain membina semula
perpustakaan atau menyemak perduaan aplikasi yang menggunakan perpustakaan dan menggunakan -l pilihan untuk
abicheck.

EXIT STATUS


Nilai keluar berikut dikembalikan:

0 Tiada ralat dan tiada masalah ditemui.

1 Ralat maut berlaku.

2 Tiada ralat maut berlaku, tetapi beberapa binari mengalami masalah dikesan.

NOTA


Hanya objek ELF disemak.

Dalam -s -S -d and -O dbfiles watak '#' memulakan baris ulasan dengan cara biasa.

Melainkan seseorang menggunakan padanan tersuai "::" yang dibekalkan melalui -p or -e bendera, abicheck boleh
semak sahaja terhadap perpustakaan sistem yang telah menggunakan versi simbol padanya (cth
maklumat peribadi dan/atau berkembang yang direkodkan untuk setiap simbol dalam perpustakaan itu sendiri).
Untuk mendapatkan maklumat lanjut tentang versi simbol, lihat "Pemaut Solaris dan Panduan Perpustakaan"
buku jawapan di URL http://docs.sun.com/ab2/coll.45.13 dan Skrip Perintah/Versi
bahagian halaman maklumat "ld" pemaut GNU.

Corak padanan nama versi simbol lalai adalah padanan tidak sensitif huruf besar-besaran kepada
rentetan "peribadi" dan "berkembang" masing-masing untuk kes persendirian dan yang sedang berkembang.

Nama fail ganjil yang mengandungi aksara petikan tunggal atau baris baharu akan dilangkau; sebegitu
aksara mengganggu arahan panggilan melalui shell.

Untuk mengulangi penggunaan direktori mencari(1) dan sama ada mengumpul output ke fail untuk digunakan dengan
yang -f pilihan, atau dalam paip melalui:

cari ... | abicheck -f - ...

Gunakan abicheck dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad