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

Ad


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

लैट्रेस - क्लाउड में ऑनलाइन

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

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

कार्यक्रम:

नाम


लैट्रेस - LD_AUDIT 2.4+ libc फ्रंटएंड

SYNOPSIS


लैट्रेस [-snltfvhiBdISbcCyYLpoaNADVTFERq] कमांड [arg ...]

वर्णन


लैट्रेस ट्रेसर एक कमांड चलाने और इसका उपयोग करके अपनी गतिशील लाइब्रेरी कॉल प्रदर्शित करने में सक्षम है
LD_AUDIT libc सुविधा, libc संस्करण 2.4 से उपलब्ध है। यह करने में भी सक्षम है
गतिशील कॉल के विभिन्न आंकड़ों को मापें और प्रदर्शित करें। नामक अनुभाग देखें
अधिक जानकारी के लिए "चर्चा"।

यदि फ़ंक्शंस की घोषणाओं के साथ हेडर फ़ाइल प्रदान की गई है, तो लैट्रेस प्रदर्शित होगा
कार्यों के तर्क. हेडर फ़ाइल फ़ाइल सिंटैक्स सी भाषा के समान है
कई अपवाद अधिक विवरण के लिए "हेडर" नामक अनुभाग देखें।

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

लैट्रेस का उपयोग समान है स्ट्रेस(1) और लेट्रेस(1).

विकल्प


-l, --libs lib1[,lib2,...]
lib1, lib2 से ऑडिट करें...

-t, --libs-to lib1[,lib2,...]
lib1, lib2 का ऑडिट...

-f, --libs-से lib1[,lib2,...]
lib1, lib2 से ऑडिट...

-s, --sym sym1 [, sym2,...]
ऑडिट प्रतीक sym1, sym2...

-n, --sym-omit sym1[,sym2,...]
प्रतीकों sym1, sym2 को हटा दें...

-L, --lib-subst s1[,s2,...]
objsearch LD_AUDIT इंटरफ़ेस ("OBJSEARCH" नामक अनुभाग देखें)

-सी, --गिनती
प्रतीकों के आँकड़े प्रदर्शित करें - पाइप मोड का तात्पर्य है ("PIPE" नामक अनुभाग देखें)।
मोड") कोई प्रतीक आउटपुट प्रदर्शित नहीं होता है

-सी, --सॉर्ट-गिनती स्टेट
तात्पर्य -सी, साथ ही निम्नलिखित मानों के साथ आंकड़ों को स्टेट के आधार पर क्रमबद्ध करें:
समय, प्रति, कॉल, ucall, lib, sym (डिफ़ॉल्ट कॉल है)

-पी, --पाइप
ऑडिट डेटा भेजने के लिए पाइप टू लैट्रेस प्रक्रिया का उपयोग करें ("पाइप मोड" नामक अनुभाग देखें)

-एन, --कॉन्फ़
config फ़ाइल ("CONFIG" नामक अनुभाग देखें)

-ए, --सक्षम-तर्क
तर्क आउटपुट सक्षम करें (/etc/latrace.conf से परिभाषाएँ)

-डी, --विस्तार-तर्क
संरचनात्मक तर्कों को अधिक विस्तार से प्रदर्शित करें

-ए, --आर्ग्स फ़ाइल
तर्क परिभाषा फ़ाइल निर्दिष्ट करें, तात्पर्य -ए (डिफ़ॉल्ट परिभाषा फ़ाइल के बिना
अवधि)

-y, --फ़्रेम आकार संख्या
PLTexit से पहले स्टैक को संग्रहीत करने के लिए फ़्रेमसाइज़ (डिफ़ॉल्ट 100)

-Y, --कोई-फ़्रेमसाइज़-चेक नहीं
फ़्रेमसाइज़ जांच अक्षम करें

-एफ, --नो-फॉलो-फोर्क
फोर्क कॉल (बच्चों) का पालन न करें। यह सिर्फ नए से लैट्रेस आउटपुट को दबा रहा है
बच्चों की प्रकृति एलडी_ऑडिट सुविधा इसे पूरी तरह से अक्षम करने से रोकती है।

-ई, --नो-फॉलो-एक्जीक्यूटिव
कार्यकारी कॉल का पालन न करें

-एस, --टाइमस्टैम्प
प्रत्येक प्रतीक के लिए टाइमस्टैम्प प्रदर्शित करें

-बी, --फ्लो-नीचे sym1[,sym2,...]
Sym1, Sym2 के लिए प्रदर्शन प्रवाह...

-मैं, --नो-इंडेंट-सिम
उनकी स्टैक गहराई के आधार पर कोई इंडेंट प्रतीक न बनाएं

-आई, --इंडेंट-सिम इंडेंट_साइज
इंडेंट_साइज़ में इंडेंट आकार विनिर्देश

-बी, --ब्रेसिज़
हमेशा प्रदर्शित करें { } प्रतीक निकाय के चारों ओर के लिए

-डी, --डेमंगल
C++ आउटपुट पर प्रतीकों को ख़राब करता है

-टी, --छिपाओ-टिड
थ्रेड आईडी प्रदर्शित न करें

-o, --आउटपुट फ़ाइल
फ़ाइल में आउटपुट संग्रहीत करें

-आर, --ctl-config
नियंत्रित कॉन्फ़िगरेशन सुविधा

-क्यू, --अक्षम करें
अक्षम ऑडिटिंग के साथ चलाएँ

-v, --verbose
वाचाल उत्पादन

-वी, - विसर्जन
प्रदर्शन संस्करण

-एच, --सहायता
प्रदर्शन सहायता

उदाहरण


· लैट्रेस चलाने का सबसे सरल तरीका इस प्रकार है:

लैट्रेस बिल्ली

· डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल द्वारा निर्दिष्ट तर्क मान देखने के लिए:

लैट्रेस - एक बिल्ली

· ऊपर जैसा ही लेकिन सभी अंतिम प्रतीकों को मुद्रित करने के लिए पाइप मोड का उपयोग करना:

लैट्रेस -एपी बिल्ली

· निर्दिष्ट कॉन्फ़िगरेशन फ़ाइल द्वारा निर्दिष्ट तर्क मान देखने के लिए:

लैट्रेस -एक लैट्रेस.conf बिल्ली

· केवल निर्दिष्ट प्रतीक के लिए आउटपुट प्राप्त करने के लिए (उदाहरण के लिए पढ़ें और लिखें) चलाएँ:

लैट्रेस -ए -एस पढ़ें, लिखें बिल्ली

· निर्दिष्ट प्रतीक के अंतर्गत प्रवाह प्राप्त करने के लिए (जैसे sysconf) चलाएँ:

लैट्रेस-बी सिसकॉन्फ किल

· केवल निर्दिष्ट लाइब्रेरी (जैसे लिबप्रोक) के लिए आउटपुट प्राप्त करने के लिए: चलाएँ:

लैट्रेस -अल लिबप्रोक डब्ल्यू

· प्रतीक आँकड़े चलाने के लिए:

लैट्रेस -सी एलएस

· समय के अनुसार क्रमबद्ध प्रतीक आँकड़े प्राप्त करने के लिए:

लैट्रेस -सी टाइम एलएस

· टेक्स्ट फ़ाइल रन में संग्रहीत आउटपुट प्राप्त करने के लिए:

लैट्रेस -ओ आउटपुट.लैट्रेस एलएस

· libkrava1.so निर्भरता को libkrava2.so में बदलने के लिए इनमें से एक चलाएँ:

लैट्रेस -एल क्रावा1%क्रावा2 पूर्व

लैट्रेस -L krava1~libkrava2.so पूर्व

लैट्रेस -L libkrava1.so=libkrava2.so पूर्व

चर्चा


नाम जांच
विकल्पों के लिए "-एल -t -f -s -n -बी" la * प्रतीक का उपयोग सबस्ट्रिंग पर स्विच करने के लिए किया जा सकता है
खोजना। यदि यह निर्दिष्ट नहीं है, तो नाम की सटीक खोज की जाती है।

उदाहरण:

-s "*krava" "krava" सबस्ट्रिंग वाले प्रतीकों की जाँच करता है।

-s "क्रावा" केवल "क्रावा" प्रतीक की जाँच करता है

एलडी_ऑडिट
यह इसका एक संक्षिप्त एवं अस्पष्ट विवरण मात्र है एलडी_ऑडिट विशेषता। अधिक जानकारी के लिए
को देखने के लिए आरटीएलडी-ऑडिट(7) पेट्र बॉडिस द्वारा किया गया व्यक्ति या ग्लिबैक/लैट्रेस स्रोत कोड का अध्ययन करें। बहुत
संक्षिप्त विवरण इस प्रकार है।

लिबसी डायनेमिक लिंकर ऑडिट सुविधा प्रोग्राम के प्रतीकों/पुस्तकालयों का पता लगाने/ऑडिट करने की अनुमति देती है।
सुविधा द्वारा सक्षम किया गया है एलडी_ऑडिट पर्यावरणपरिवर्ती तारक। इस वेरिएबल में अवश्य शामिल होना चाहिए
ऑडिट साझा लाइब्रेरी का पथ. इस ऑडिट लाइब्रेरी को विशिष्ट इंटरफ़ेस का पालन करने की आवश्यकता है।
फिर इंटरफ़ेस फ़ंक्शंस को डायनेमिक लिंकर द्वारा उचित रूप से कॉल किया जाएगा।

ऑडिट लाइब्रेरी को निम्नलिखित प्रतीकों ("la_PLTENTER" और "la_PLTEXIT" को निर्यात करने की आवश्यकता है
नाम वास्तुकला पर निर्भर हैं)।

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

लैट्रेस पैकेज के लिए ऑडिट साझा लाइब्रेरी को libltaudit.so कहा जाता है।

वस्तु खोज
वस्तु खोज एलडी_ऑडिट इंटरफ़ेस ट्रेस किए गए प्रोग्राम साझा ऑब्जेक्ट को बदलने के लिए साधन प्रदान करता है
नाम/स्थान. -L विकल्प तर्क में निम्नलिखित रूप होना चाहिए:

-L s1[,s2,...] जहां एसएन है " [=%~] डीएसटी

RSI " स्रोत पैटर्न/नाम है और डीएसटी गंतव्य नाम/पैटर्न है.

= लाइब्रेरी के साथ स्रोत की तुलना करना
नाम। यदि मिलान हो तो प्रतिस्थापित करें
डीएसटी के साथ लाइब्रेरी का नाम।
लाइब्रेरी का नाम - /lib/krava1.so
src - /lib/krava1.so
डीएसटी - /lib/krava2.so

अंतिम लाइब्रेरी का नाम - /lib/krava2.so

% लाइब्रेरी नाम में स्रोत ढूंढ रहा हूं। अगर
मिला, src को dst भाग से बदलें।
लाइब्रेरी का नाम - /lib/krava1.so
स्रोत - क्रावा1
डीएसटी - क्रावा2

अंतिम लाइब्रेरी का नाम - /lib/krava2.so

~ लाइब्रेरी नाम में स्रोत ढूंढ रहा हूं। अगर
मिला, लाइब्रेरी का नाम dst से बदलें।
लाइब्रेरी का नाम - /lib/krava1.so
स्रोत - क्रावा1
डीएसटी - /lib/krava2.so

अंतिम लाइब्रेरी का नाम - /lib/krava2.so

पाइप मोड
RSI लैट्रेस दो मोड में काम कर सकता है. सबसे पहला देशी सीधे आउटपुट करता है
ट्रेस की गई प्रोग्राम प्रक्रिया। दूसरा, पाइप मोड भेजने के लिए आईपीसी फीफो तंत्र का उपयोग करता है
ट्रेस की गई प्रक्रिया से लैट्रेस प्रक्रिया तक का डेटा। लैट्रेस प्रक्रिया तब होती है
आउटपुट के लिए जिम्मेदार. पाइप मोड का उपयोग करके आप ट्रेस किए गए प्रोग्राम मानक को खो देते हैं
मुद्रित प्रतीकों के साथ आउटपुट संदर्भ।

इस का उपयोग करके पाइप मोड, लैट्रेस ट्रेस प्रोग्राम पर निर्भर नहीं है
मानक आउटपुट डिस्क्रिप्टर का उपयोग/हेरफेर। इसके अलावा प्रतीक आँकड़े भी मायने रखते हैं
-सी, -C विकल्पों उपयोग पाइप लैट्रेस बाइनरी में प्रतीक जानकारी स्थानांतरित करने के लिए मोड, और
लैट्रेस बाइनरी अंत में गिनती करता है।

कॉन्फ़िग
लैट्रेस कुछ विकल्पों को सक्षम/अक्षम करने की संभावना प्रदान करता है
विन्यास फाइल। कुछ विकल्प कमांड लाइन तर्कों से जुड़े हुए हैं
वे नहीं हैं. जब लैट्रेस प्रारंभ होता है तो वैश्विक कॉन्फ़िगरेशन फ़ाइल पढ़ी जाती है। यह फ़ाइल है
आमतौर पर यहां रखा जा रहा है:

/etc/latrace.d/latrace.conf

इस फ़ाइल से डिफ़ॉल्ट मान पढ़ने के बाद, उपयोगकर्ता कमांड लाइन द्वारा उनमें से किसी को भी ओवरलोड कर सकता है
विकल्प या किसी अन्य कॉन्फ़िगरेशन फ़ाइल को प्रतिस्थापित करके -एन, --conf विकल्प.

कॉन्फ़िगरेशन फ़ाइल सिंटैक्स मोटे तौर पर है:

शामिल करना

विकल्प {
विकल्प 1 = मान
विकल्प2 = हाँ|नहीं
...
विकल्प = मूल्य
}

# टिप्पणी

विन्यास पट्टिका विकल्पों

हेडर = फ़ाइल
-ए, --आर्ग्स

INDENT_SYM = मान
-आई, --इंडेंट-सिम

पाइप = बूल
-पी, --पाइप

टाइमस्टैम्प = बूल
-एस, --टाइमस्टैम्प

फ्रेमसाइज = वैल्यू
-y, --फ़्रेमसाइज़

फ़्रेमसाइज़_चेक = बूल
-Y, --कोई-फ़्रेमसाइज़-चेक नहीं

HIDE_TID = बूल
-टी, --छिपाओ-टिड

FOLLOW_FORK = बूल
-एफ, --नो-फॉलो-फोर्क

FOLLOW_EXEC = बूल
-ई, --नो-फॉलो-एक्जीक्यूटिव

डिमंगल = बूल
-डी, --डेमंगल

ब्रेसेस = बूल
-बी, --ब्रेसिज़

ENABLE_ARGS = बूल
-ए, --सक्षम-तर्क

DETAIL_ARGS = बूल
-डी, --विस्तार-तर्क

OUTPUT_TTY = फ़ाइल

· ट्रेसी टर्मिनल आउटपुट को फ़ाइल में संग्रहीत करता है

एलआईबीएस = एलआईबी1[,एलआईबी2,...]
-एल, --libs

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

LIBS_FROM = LIB1 [, LIB2,...]
-एफ, --लिब्स-से

SYM = SYM1[,SYM2,...]
-एस, --सिम

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

SYM_BELOW = SYM1[,SYM2,...]
-बी, --प्रवाह-नीचे

SYM_NOEXIT = SYM1 [, SYM2,...]

· प्रतीक जो एग्ज़िट कॉलबैक नहीं चलाते (plt_exit)

ARGS_STRING_POINTER_LENGTH = बूल

· फ़ंक्शन तर्क - स्ट्रिंग की लंबाई और सूचक मान प्रदर्शित करें

हेडर
लैट्रेस हेडर फ़ाइल उपयोगकर्ता को क्लासिक सी फ़ंक्शन के रूप में प्रतीकों को परिभाषित करने की अनुमति देती है
तर्क. लैट्रेस आउटपुट के रूप में तर्क नाम मानों के साथ प्रदर्शित किए जाएंगे।
जितने अधिक तर्क परिभाषित होंगे, प्रदर्शन और स्मृति दंड उतना ही अधिक होना चाहिए
उम्मीद थी.

पैकेज को सबसे अधिक उपयोग की जाने वाली कई पूर्वनिर्धारित हेडर फ़ाइलों के साथ वितरित किया जाता है
कार्य. उपयोग की गई glibc हेडर फ़ाइलों की सूची इस प्रकार है (सूची अधिकतर ltrace का अनुसरण करती है
हेडर फ़ाइलों की सूची, और लेखक इसे आवश्यकताओं के अनुसार अद्यतन करने को तैयार है)

ctype.h dirent.h dlfcn.h fcntl.h getopt.h inet.h ioctl.h
libintl.h libio.h लोकेल.h विविध.एच mman.h ncurses.h नेटडीबी.एच
pthread.h pwd.h resource.h सिग्नल.h सॉकेट.h stat.h stdio.h
stdlib.h string.h syslog.h टर्म.h टर्मिओस.h टाइम.h टाइपडिफ्स.h
unistd.h utmp.h प्रतीक्षा करें.h

लैट्रेस हेडर फ़ाइलें आमतौर पर निर्देशिका के अंतर्गत संग्रहीत की जाती हैं:

/etc/latrace.d/headers/

उपयोगकर्ता कमांड लाइन विकल्प या कॉन्फ़िगरेशन फ़ाइल का उपयोग करके एकल हेडर फ़ाइल निर्दिष्ट कर सकता है। यह
फ़ाइल में अन्य आवश्यक शीर्षलेख शामिल हो सकते हैं। जैसा कि पहले ही उल्लेख किया गया है, लैट्रेस कॉन्फ़िगरेशन फ़ाइल
सिंटैक्स हल्के ढंग से सी भाषा सिंटैक्स का अनुसरण करता है। निम्नलिखित भाग लैट्रेस कॉन्फ़िगरेशन का वर्णन करता है
फ़ाइल भाषा.

· अनेक POD प्रकार (सादा पुराना डेटा), लैट्रेस में हार्डकोड किया गया है। उन तर्कों का आकार
मैक्रो के आकार द्वारा निर्धारित किया जाता है। सूची इस प्रकार है।

शून्य
char u_char
लघु u_short
int u_int
लंबा तुम_लंबा
लंबे समय तक आप_लंबे # (लंबे समय तक)
डबल फ़्लोट करें

· टंकण कीवर्ड पहले से मौजूद प्रकार (पीओडी) के आधार पर नया प्रकार निर्दिष्ट करने की अनुमति देता है
या टाइपडिफेड)। हालाँकि इस प्रकार में कई सूचक परतों के लिए एक तरीका है
परिभाषा (*), केवल एक ली गई है।

टाइपडिफ बेस_टाइप न्यू_टाइप;
टाइपडिफ बेस_टाइप * न्यू_टाइप;
टाइपडिफ बेस_टाइप ** न्यू_टाइप;

· टिप्पणियाँ C शैली /\* \*/ तर्क का पालन करें।

/\* टिप्पणियाँ \*/

· शामिल कीवर्ड किसी अन्य कॉन्फ़िगरेशन फ़ाइल को शामिल करने की अनुमति देता है।

#"फ़ाइल नाम" शामिल करें

· struct कीवर्ड संरचना को परिभाषित करने की अनुमति देता है। वाक्यविन्यास व्याकरण का अनुसरण करता है
नियमों.

प्रारंभ:: संरचना नाम { STRUCT_DEF };
STRUCT_DEF:: DEF | खाली
डीईएफ:: नाम नाम |
नाम '*' नाम |
संरचना नाम नाम |
संरचना नाम '*' नाम
नाम:: [-0-9a-zA-Z_]+

· समारोह परिभाषा निम्नलिखित सिंटैक्स का अनुसरण करती है (DEF और NAME for के समान हैं
संरचना परिभाषा)।

प्रारंभ:: DEF '(' ARGS ')' ';'
ARGS:: ARGS ',' DEF | डीईएफ | खाली

· एनम परिभाषा निम्नलिखित सिंटैक्स का अनुसरण करती है (नाम संरचना परिभाषा के समान है)।

प्रारंभ:: ENUM नाम '{' ENUM_DEF '}' ';'
ENUM_DEF:: ENUM_DEF ',' ENUM_ELEM | ENUM_ELEM
ENUM_ELEM:: नाम '=' नाम | नाम

· एक साधारण लैट्रेस कॉन्फिग फ़ाइल का उदाहरण।

---[ यहां से काटे ]-----------------------------
एनम क्रावा {
क्रावा1 = 1,
क्रावा2,
क्रावा3 = 100
};

#शामिल है "krava.conf"

टाइपडिफ़ u_int pid_t;

संरचना ex_st {
pid_t पी;
int cnt;
नौकरानी का नाम;
};

int f1(pid_t p, struct ex_st *k);
int f2(char* नाम, struct ex_st k, int k = krava);
struct ex_st* f3(pid_t *p, struct ex_st k);
---[ यहां से काटे ]-----------------------------

· ऐरे अभी तक समर्थित नहीं हैं, इसलिए कुछ संरचनाओं को परिभाषित करने का कोई तरीका नहीं है। ऐसे के लिए
संरचनाएँ void* प्रकार का उपयोग करती हैं जहाँ संरचना तर्क सूचक द्वारा पारित किया जाता है। अगर यह
मूल्य द्वारा पारित किया गया है, अब तक कोई समाधान नहीं है (संरचना को भरने के अलावा)।
संरचना की वास्तविक लंबाई तक POD प्रकार वाला शरीर :)।

· परिवर्तनीय तर्क सूचियाँ (va_list/...) अभी तक समर्थित नहीं हैं। फ़ंक्शन परिभाषा
पहले परिवर्तनीय तर्क सूची तर्क से पहले रुकने की आवश्यकता है।

बंदरगाहों


लैट्रेस को LD_AUDIT समर्थन वाले किसी भी glibc सिस्टम पर काम करना चाहिए। हालाँकि तर्क
विवरण वास्तुकला विशिष्ट हैं और लैट्रेस के अंदर ही विशेष समर्थन की आवश्यकता है।

लेखक लैट्रेस को किसी भी वास्तुकला में पोर्ट करने के लिए तैयार है, जब तक कि उसे इसकी पहुंच प्राप्त हो
संगत प्रणाली. वर्तमान में कार्यात्मक बंदरगाह हैं:

x86 ok

x86_64 ok

बांह ok

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


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

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

लिनक्स कमांड

Ad