अंग्रेज़ीफ्रेंचस्पेनिश

Ad


ऑनवर्क्स फ़ेविकॉन

एबिचेक - क्लाउड में ऑनलाइन

उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर पर ऑनवर्क्स मुफ्त होस्टिंग प्रदाता में एबिचेक चलाएं

यह कमांड एबिचेक है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


एबिचेक - निजी या विकसित प्रतीकों पर कॉल के लिए एप्लिकेशन बायनेरिज़ की जाँच करें
पुस्तकालयों और कुछ सिस्टम पुस्तकालयों की स्थिर लिंकिंग के लिए।

SYNOPSIS


अबीचेक [-एच] [-के] [-ए] [-आई] [-वी] [-एफ सूचीफ़ाइल] [-ओर आउटफाइल] [-पी पैटर्न] [-इ पैटर्न] [-जे
njobs] [-एल पुस्तकालय] [-एल ldpath] [(-एस|-एस) dbफ़ाइल] [(-डी|-डी) dbफ़ाइल] [-ओ dbफ़ाइल] [-ए
सूचीफ़ाइल] फ़ाइलों

वर्णन


अबीचेक एप्लिकेशन बायनेरिज़ पर चलाया जाता है और निम्न में से कोई भी होने पर चेतावनी जारी करता है
तीन स्थितियों का पता चला है:

· निजी प्रतीक उपयोग। निजी प्रतीक किसी लाइब्रेरी में फ़ंक्शन या डेटा चर होते हैं
पैकेज जो उस पैकेज के आंतरिक हैं। इनका उपयोग पैकेज में पुस्तकालयों द्वारा किया जाता है
आंतरिक संचार के लिए और एप्लिकेशन डेवलपर्स द्वारा उपयोग किए जाने वाले एपीआई/एबीआई का हिस्सा नहीं हैं
उपयोग करना चाहिए।

· उभरती प्रतीक उपयोग। विकसित होते प्रतीक किसी लाइब्रेरी में फ़ंक्शन या डेटा वैरिएबल होते हैं
पैकेज जो डेवलपर उपभोग के लिए है, लेकिन "विकसित" या के रूप में चिह्नित किया गया है
इस अर्थ में "अस्थिर" कि बाद में रिलीज़ होने पर वे असंगत हो सकते हैं या गायब हो सकते हैं
लाइब्रेरी पैकेज का.

· स्थिर लिंक करना. सिस्टम लाइब्रेरीज़ की स्टेटिक लिंकिंग (उदाहरण के लिए, libc.a) एक में
एप्लिकेशन आम तौर पर एक अच्छा विचार नहीं है क्योंकि सिस्टम लाइब्रेरी कोड इसे "लॉक" कर देता है
एप्लिकेशन बाइनरी सिस्टम के बाद के रिलीज़ के साथ असंगत हो सकता है। abicheck
कुछ सिस्टम लाइब्रेरीज़ की स्थिर लिंकिंग का पता लगाने का प्रयास।

प्रत्येक बाइनरी ऑब्जेक्ट की जांच के लिए, उससे सीधे कॉल की जांच करना डिफ़ॉल्ट व्यवहार है
केवल बाइनरी ऑब्जेक्ट। -l विकल्प पुस्तकालयों को बाइनरी ऑब्जेक्ट लाने की अनुमति देता है
उनके कॉल भी चेक किए गए।

विकल्प


निम्नलिखित विकल्प समर्थित हैं:

-k गंभीर त्रुटियाँ होने पर भी बायनेरिज़ की जाँच करते रहें (डायनामिक लिंकर रिपोर्ट)।
अनसुलझे प्रतीक, ldd(1) विफलताएं, कोई प्रतीक नहीं पाया गया)।

-h मदद का लंबा फॉर्म प्रिंट करें।

-v वाचाल. अतिरिक्त जानकारी प्रिंट करें.

-f लिस्टफाइल
RSI लिस्टफाइल एक फ़ाइल है जिसमें जांच करने के लिए बाइनरी ऑब्जेक्ट की एक सूची होती है, प्रति पंक्ति एक।
यह सूची कमांड लाइन पर तर्क के रूप में प्रदान की गई किसी भी फाइल से जुड़ी हुई है। अगर
लिस्टफाइल "-" है, तो stdin का प्रयोग किया जाता है।

-o आउटफाइल
को आउटपुट लिखें आउटफाइल स्टडआउट के बजाय।

-p पैटर्न
संस्करण नाम पैटर्न मिलान लेबलिंग निजी संस्करण सेट को संशोधित करें। डिफ़ॉल्ट है
/निजी/ केस-असंवेदनशील मिलान का उपयोग करना।

यदि रेगेक्स का एक घटक पैटर्न एक पंक्ति में दो कोलन होते हैं: पैट 1 :: पैट 2,
फिर प्रतीक-स्तरीय मिलान को जाँच कर सक्रिय किया जाएगा संस्करण::प्रतीक or
पुस्तकालय::प्रतीक मैच पैटर्न (जहां प्रतीक का नाम, संस्करण (यदि कोई हो), और
लाइब्रेरी बेसनाम को प्रतिस्थापित किया गया है प्रतीक, संस्करण, तथा पुस्तकालय)। उदाहरण के लिए,

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

-e पैटर्न
के समान -p लेकिन "विकसित" इंटरफेस के लिए।

-L ldpath
ठीक एलडी_LIBRARY_PATH पर्यावरण चर करने के लिए ldpath गतिशील का आह्वान करने से पहले
लिंकर. उपयोग -L "" परेशान करने के लिए एलडी_लाइब्रेरी_पथ.

यदि के घटकों में से एक ldpath स्ट्रिंग "ढूंढें" है, फिर सभी साझा लाइब्रेरी
in फ़ाइलों पाए जाते हैं और उनके पथ "ढूंढें" स्थान में डाले जाते हैं। ध्यान दें कि
आदेश यादृच्छिक होगा.

-l पुस्तकालय
साझा लाइब्रेरी का बेसनाम या पूरा पथनाम जोड़ें पुस्तकालय की सूची में
निजी कॉल करने के लिए जाँच की जाने वाली वस्तुएँ। यह विकल्प इससे भी अधिक हो सकता है
एक बार कमांड लाइन पर और additive है। डिफ़ॉल्ट रूप से, केवल a से सीधे कॉल
सिस्टम लाइब्रेरीज़ की बाइनरी की जाँच की जाती है। -l स्विच की जाँच की अनुमति देता है
अप्रत्यक्ष कॉल जैसे: ऐप -> सपोर्टलिब -> सिस्टमलिब।

-a जाँच करने से पहले सभी बायनेरिज़ के माध्यम से लूप करें और साझा की गई सभी की सूची एकत्र करें
वस्तुएं. पाई गई प्रत्येक साझा वस्तु का आधार नाम लें और ऐसे कार्य करें जैसे वह था
के साथ निर्दिष्ट -l option विकल्प और फिर abicheck जाँच चलाएँ। इस तरह,
केवल के बजाय सभी "एप्लिकेशन आंतरिक" ऑब्जेक्ट से कॉल की जाँच की जाती है
सीधी कॉल. (यह उपयोगी है जब साझा वस्तुओं की अपनी निर्भरता नहीं होती है
रिकॉर्ड किया गया।)

-I जाँच में साझा पुस्तकालयों को अनदेखा करें, केवल निष्पादन योग्य जाँचें। के साथ संगत -ए
पहले पुस्तकालयों की खोज की जाएगी लेकिन फिर जाँच नहीं की जाएगी।

-d डीबीफ़ाइल, -D डीबीफाइल
डायनामिक (सार्वजनिक बनाम निजी) के लिए फ़ॉलबैक फ़्लैट-फ़ाइल प्रतीक डेटाबेस निर्दिष्ट करें
परीक्षा। यदि लाइब्रेरी संस्करणीकृत नहीं है (अर्थात्) तो इन वर्गीकरणों का उपयोग किया जाएगा
वर्गीकरण पुस्तकालय में ही मौजूद नहीं है)। उपयोग -D केवल यही इंगित करने के लिए
इससे जानकारी डीबीफाइल इस्तेमाल किया जाना चाहिए। में पंक्तियाँ डीबीफाइल इनमें से एक हो सकता है
रूपों:

पुस्तकालय|प्रतीक
पुस्तकालय|वर्ग|प्रतीक
लाइब्रेरी|फ़ाइल=पथ

पुस्तकालय निर्दिष्ट की जाने वाली लाइब्रेरी का पूरा पथ होना चाहिए (यह नहीं हो सकता)।
बेसनेम)।

प्रथम रूप चिह्न प्रतीक निजी के रूप में.

दूसरा रूप चिन्हांकित करता है प्रतीक साथ में कक्षा जहां कक्षा सार्वजनिक, निजी, या हो सकता है
विकसित हो रहा है.

तीसरा फॉर्म फ़ाइल को इंगित करता है पथ मांग पर कब खोला जाना चाहिए पुस्तकालय is
पहली बार सामना हुआ. फ़ाइल पथ को छोड़कर पहले दो रूपों की पंक्तियाँ शामिल हैं
पुस्तकालय मैदान। तीसरा रूप कई वर्गीकरणों को संसाधित करने से बचने के लिए एक स्पीडअप है
पुस्तकालयों के लिए लाइनें रन के दौरान कभी सामने नहीं आईं।

-O डीबीफाइल
डायनामिक के लिए प्रतीक वर्गीकरण को संशोधित करने के लिए एक ओवरराइड फ़ाइल निर्दिष्ट करें
(सार्वजनिक बनाम निजी) परीक्षण। ओवरराइड फ़ाइल का प्रारूप इस प्रकार है:

पुस्तकालय|प्रतीक|वर्ग

लाइब्रेरी पूर्ण पथ या बेसनाम हो सकती है। यदि लाइब्रेरी "__SKIP__" प्रतीक है
यह जिस भी लाइब्रेरी में पाया जाएगा, उसे नज़रअंदाज़ कर दिया जाएगा। कक्षा "सार्वजनिक" हो सकती है,
"निजी", "विकसित", या "हटाया गया"। "हटाया गया" वर्ग विशेष-आवरण वाला है, इसका मतलब है
कुछ रिलीज़ पर प्रतीक को लाइब्रेरी से हटा दिया गया था। प्रतीक "__ALL__" के लिए
"हटाए गए" वर्ग का मतलब है कि पूरी लाइब्रेरी हटा दी गई है या अन्यथा अस्थिर है
उपयोग करने के लिए।

उदाहरण:

libfoo.so.1|__bar|निजी
/lib/libxyz.so.1|baz|public
__SKIP__|__fputwc_xpg5

ये सेटिंग्स लाइब्रेरी के अंदर (लाइब्रेरी से) किसी भी वर्गीकरण को ओवरराइड करती हैं
संस्करणीकरण, से प्राप्य पी वी एस(1), आदि)।

-A लिस्टफाइल
रुचि के एबीआई पुस्तकालयों को सूचीबद्ध पुस्तकालयों में सेट करें लिस्टफाइल (पूर्ण
पथनाम, प्रति पंक्ति एक)। केवल इन पुस्तकालयों में कॉल की जाँच की जाएगी; सभी
अन्य लाइब्रेरी कॉलों पर ध्यान नहीं दिया जाएगा.

-s डीबीफ़ाइल, -S डीबीफाइल
स्थैतिक लिंकिंग परीक्षण के लिए अधिक व्यापक प्रतीक डेटाबेस निर्दिष्ट करें। डीबीफाइल हो सकता है
फ़ाइलों की अल्पविराम से अलग की गई सूची। यदि कोई फ़ाइल एक स्थिर संग्रह (lib*.a) है तो यह है
प्रतीकों को निकालने के लिए संसाधित किया गया। अन्यथा यह एक डेटाबेस फ़ाइल है जिसमें शामिल है
उदाहरण के लिए फॉर्म सिंबल|लाइब्रेरी:मॉड्यूल की पंक्तियाँ:

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
...

जब किसी मॉड्यूल.o में सभी प्रतीकों को एप्लिकेशन में परिभाषित किया जाता है, तो स्थैतिक लिंकिंग की जाती है
वह मॉड्यूल (और संबंधित लाइब्रेरी संग्रह) मान लिया गया है। उपयोग -S इंगित करने के लिए
कि केवल स्टेटिक लिंक टेस्ट ही किया जाना चाहिए।

उपयोग -S int केवल स्थैतिक लिंक जांच करने और आंतरिक डेटाबेस का उपयोग करने के लिए।

उपयोग -s कोई नहीं or -S कोई नहीं स्थैतिक लिंकिंग जांच को पूरी तरह से छोड़ देना।

-j njobs
रन njobs अलग-अलग प्रक्रियाओं के समानान्तर में। तात्पर्य -k. मुख्यतः हेतु अभिप्रेत है
एकाधिक सीपीयू मशीनें जहां njobs प्रोसेसर की संख्या के करीब होनी चाहिए।
आउटपुट को tmp फ़ाइलों में एकत्र किया जाता है और रन के अंत में एक ही बार में प्रिंट किया जाता है
प्रत्येक कार्य समाप्त होता है।

If njobs तो "-", "पता लगाएं", या "एन" है njobs के आधार पर एक संख्या पर सेट किया जाएगा
वर्तमान मशीन पर प्रोसेसर की संख्या (यदि वह निर्धारित की जा सकती है)।

ऑपरेंड


निम्नलिखित ऑपरेंड समर्थित हैं:

फ़ाइलों जांचने के लिए एप्लिकेशन बाइनरी ऑब्जेक्ट की एक सूची।

आउटपुट


प्रति समस्या एक पंक्ति होती है (प्रत्येक बाइनरी जाँच में कई समस्याएँ हो सकती हैं) जो
निम्नलिखित की तरह दिखें:

यदि कोई समस्या नहीं पाई गई:
फ़ाइल का नाम: ठीक

यदि निजी प्रतीक उपयोग:
फ़ाइल का नाम: निजी (पुस्तकालय:निजी_संस्करण) प्राइवेट_सिम

यदि प्रतीक का उपयोग विकसित हो रहा है:
फ़ाइल का नाम: विकसित हो रहा है (पुस्तकालय:evolving_vers) evolving_sym

यदि फ़ाइल सिस्टम संग्रह लाइब्रेरी में स्थिर रूप से लिंक की गई है:
फ़ाइल का नाम: STATIC_LINK (संग्रह)

यदि फ़ाइल की जाँच छोड़ दी गई थी:
फ़ाइल का नाम: छोडना (कारण)

में हटाए गए वर्ग के उपयोग के अंतर्गत -O फ़ाइल विकल्प को ओवरराइड करें, ये समस्याएँ हो सकती हैं
मिल गया:

यदि किसी रिलीज़ पर लाइब्रेरी से कोई प्रतीक हटा दिया गया है:
फ़ाइल का नाम: DELETED_SYM: प्रतीक/पुस्तकालय

(पुस्तकालय यदि प्रतीक अनबाउंड था तो "अनबाउंड" होगा)

यदि किसी रिलीज़ पर संपूर्ण लाइब्रेरी हटा दी गई है या अन्यथा अस्थिर है
उपयोग:
फ़ाइल का नाम: अस्थिर_लिब: लाइब्रेरी-सोनाम = पुस्तकालय-पथ

(पुस्तकालय-पथ यदि लाइब्रेरी नहीं मिल पाई तो "फ़ाइल नहीं मिली" हो सकती है)

निम्नलिखित समस्याएँ एक घातक त्रुटि का कारण बनेंगी जब तक कि -k विकल्प का उपयोग किया जाता है:

यदि डायनेमिक लिंकर समाधान नहीं कर सका N प्रतीक जब ldd -r बाघ गया था:
फ़ाइल का नाम:अनबाउंड_प्रतीक: N

यदि डायनेमिक लिंकर को कोई डायनेमिक बाइंडिंग नहीं मिली:
फ़ाइल का नाम: कोई बंधन नहीं

If ldd -r साथ में LD_DEBUG=फ़ाइलें, बाइंडिंग अनुत्तीर्ण होना:
फ़ाइल का नाम: LDD_ERROR

इनमें बाद वाले तीन केस चलते हैं ldd -r किस बारे में अधिक जानकारी के लिए बाइनरी फ़ाइल पर
ग़लत हो गया (ध्यान दें अबीचेक चलाता है ldd -r साथ में LD_DEBUG=फ़ाइलें, बाइंडिंग तय करना)। कुछ पर
ऐसे सिस्टम जिनमें डायनेमिक लिंकर SUID प्रोग्राम को प्रोसेस नहीं करेगा एलडी_डीबग सेट (यह आमतौर पर
का परिणाम कोई बंधन नहीं में अबीचेक आउटपुट)।

ध्यान दें कि यदि आप किसी साझा लाइब्रेरी (उदाहरण के लिए, libfoo.so) पर abicheck चला रहे हैं
है नहीं के साथ बनाया गया है -l lib इसकी लाइब्रेरी निर्भरताओं को रिकॉर्ड करने के लिए झंडे, फिर "अनबाउंड
प्रतीकों" की समस्या बहुत संभावित है। पुनर्निर्माण के अलावा बहुत कुछ नहीं किया जा सकता है
लाइब्रेरी या किसी एप्लिकेशन बाइनरी की जांच करना जो लाइब्रेरी का उपयोग करता है और का उपयोग करता है -l का विकल्प
abicheck.

बाहर निकलें स्थिति


निम्नलिखित निकास मान लौटाए जाते हैं:

0 कोई त्रुटि या कोई समस्या नहीं मिली.

1 एक घातक त्रुटि हुई।

2 कोई घातक त्रुटि नहीं हुई, लेकिन कुछ बायनेरिज़ में समस्याएँ पाई गईं।

टिप्पणियाँ


केवल ईएलएफ ऑब्जेक्ट की जाँच की जाती है।

में -s -S -d और -O dbfiles में '#' वर्ण सामान्य तरीके से एक टिप्पणी पंक्ति शुरू करता है।

जब तक कोई इसके माध्यम से आपूर्ति किए गए "::" कस्टम मिलान का उपयोग नहीं कर रहा हो -p or -e झंडे, एबिचेक कर सकते हैं
केवल उन सिस्टम लाइब्रेरीज़ के विरुद्ध जाँच करें जिन पर प्रतीक संस्करण लागू किया गया है (अर्थात्
लाइब्रेरी में प्रत्येक प्रतीक के लिए दर्ज की गई निजी और/या विकसित होती जानकारी)।
प्रतीक संस्करण के बारे में अधिक जानकारी के लिए, "सोलारिस लिंकर और लाइब्रेरीज़ गाइड" देखें
यूआरएल पर उत्तरपुस्तिका http://docs.sun.com/ab2/coll.45.13 और कमांड/संस्करण-स्क्रिप्ट
जीएनयू लिंकर "एलडी" जानकारी पृष्ठ का अनुभाग।

डिफ़ॉल्ट प्रतीक संस्करण नाम मिलान पैटर्न केस असंवेदनशील मिलान हैं
निजी और विकसित हो रहे मामलों के लिए क्रमशः "निजी" और "विकसित" स्ट्रिंग।

एकल-उद्धरण वर्ण या न्यूलाइन वाले विषम फ़ाइल नाम छोड़ दिए जाएंगे; ऐसा
अक्षर शेल के माध्यम से कमांड को कॉल करने में हस्तक्षेप करते हैं।

निर्देशिकाओं का पुनरावर्तन करने के लिए उपयोग करें खोज(1) और या तो उपयोग के लिए आउटपुट को एक फ़ाइल में एकत्रित करें
la -f विकल्प, या एक पाइप में के माध्यम से:

खोजें ... | एबिचेक -एफ - ...

onworks.net सेवाओं का उपयोग करके ऑनलाइन abicheck का उपयोग करें


फ्री सर्वर और वर्कस्टेशन

विंडोज और लाइनेक्स एप डाउनलोड करें

लिनक्स कमांड

Ad