استعمال strace کو مانیٹر لینکس سسٹم کیسے کالز

Jun 23, 2025
لینکس
fatmawati سے Achmad zaenuri / Shutterstock.com

لینکس کے پروگراموں پوچھیں دانا ان کے لئے کچھ چیزیں کرنے کے لئے. The. trace. کمانڈ ان کے نظام کالیں پتہ چلتا ہے. تم کس طرح کے پروگراموں کے کام کرتے ہیں اور کیوں کو سمجھنے کے لئے ان کا استعمال کر سکتے ہیں، کبھی کبھی، وہ ایسا نہیں کرتے.

دانا اور سسٹم کالز

سمارٹ جیسا وہ ہو سکتا ہے کے طور پر، کمپیوٹر پروگرام کو اپنے لئے سب کچھ نہیں کر سکتے. وہ ان کے لئے کارکردگی کا مظاہرہ بعض افعال ہے کرنے کی درخواستوں کو بنانے کے لئے کی ضرورت ہے. ان درخواستوں لینکس دانا کے پاس جاؤ. عام طور پر، پروگرام کالز، اور لائبریری پھر مناسب درخواست پر نام نہاد ایک نظام دانا کال کرنے کے لئے بناتا ہے کہ ایک لائبریری یا دوسرے سافٹ ویئر انٹرفیس ہے.

کے نظام کالز کہ ایک پروگرام بنایا ہے اور کس کے جوابات آپ کو آپ نے لکھا ہے کہ سود کی آپ کو یا کہ پروگراموں کے اندرونی کام کاج کو سمجھنے میں مدد کر سکتے تھے دیکھنے کے قابل ہونے. یہ وہ جگہ ہے کیا trace. کرتا ہے . یہ دشواری حل مسائل اور باداوں کو نظر مدد کر سکتے ہیں.

یہ طور پر ایک ہی نہیں ہے ایک درخواست ٹھیک کرنا کی طرح ایک آلہ کے ساتھ GDB . بگ پروگرام یہ چلتا ہے کے طور پر آپ کو ایک پروگرام کے داخلی آپریشن کی تحقیقات کرنے دیتا ہے. یہ آپ کو آپ کے پروگرام کی منطق کے ذریعے قدم اور میموری اور متغیر اقدار کا معائنہ کرنے دیتا ہے. مقابلے کی طرف سے، کیا trace. کیا پروگرام کے طور پر نظام کی کال معلومات چل رہا ہے قبضہ ہے. جب پتہ لگایا پروگرام ختم، trace. ٹرمنل ونڈو پر نظام کو کال معلومات کی فہرست.

سسٹم کی کالز اس طرح تو فائلوں پر پڑھنا اور لکھنا اعمال، قتل عمل، اور کم سطح کی فعالیت کے تمام قسم کے، ہے. تاریخ کے نظام کالز کی سینکڑوں کی ایک فہرست ہے انسان صفحے syscalls .

متعلقہ: GDB کے ساتھ ٹھیک کرنا: آغاز کرنا

نصب ہو strace

اگر trace. پہلے سے ہی آپ کے کمپیوٹر پر نصب نہیں ہے، آپ کو بہت آسانی سے انسٹال کر سکتے ہیں.

اوبنٹو پر یہ کمانڈ استعمال کریں:

 سودو مناسب انسٹال strace 

Fedora کے روز، اس حکم ٹائپ کریں:

 سودو DNF strace 
انسٹال

Manjaro کو حکم ہے:

 سودو Pacman کی -Sy strace 

strace ساتھ پہلا قدم

ہم کا مظاہرہ کرنے کے لئے ایک چھوٹا سا پروگرام استعمال کریں گے trace. . اس سے زیادہ نہیں کیا کرتا: یہ ایک فائل کو کھولتا ہے اور اس کے لئے متن کی ایک سطر لکھتے ہیں، اور یہ اس میں کسی بھی غلطی کی چیکنگ نہیں ہوئے یہ ہم کے ساتھ استعمال کرنے کے لئے کچھ ہے کہ صرف ایک فوری ہیک تا ہے trace. .

 # شامل کریں & lt؛ stdio.h کی اور جی ٹی.

اہم (INT جہاں argc، چار ہے argv []) int کی {

  // فائل ہینڈل
  FILE * fileGeek؛

  // "strace_demo.txt" کے نام سے ایک فائل کو کھولنے، یا اس کے پیدا
  fileGeek = fopen کی ( "strace_demo.txt"، "W")؛

  // فائل میں کچھ متن لکھیں
  fprintf (fileGeek، "اس فائل کو لکھیں")؛

  // فائل بند
  fclose کے (fileGeek)؛

  // پروگرام سے باہر نکلیں
  واپس آ جائیں (0)؛

} // کا بنیادی 
آخر

ہم "فائل io.c" نامی ایک فائل میں اس کو بچا لیا اور اس کے ساتھ مرتب جی سی سی نامی ایک executable میں stex ، کے لئے نامزد کیا گیا " سینٹ دوڑ سابق کافی. "

 جی سی سی -o stex فائل io.c 

ہم پر کال کریں گے trace. اور کمانڈ لائن سے کہ ہم پتہ لگایا ہے کرنا چاہتے عمل کے طور پر اس کے لئے ہمارے نئے کارکردگی کے نام پر منتقل. ہم صرف کے طور پر آسانی لینکس حکم دیتا ہے یا کسی بھی دوسرے بائنری کارکردگی کے کسی بھی ٹریس کر سکا. ہم نے دو وجوہات کی بنا پر ہمارے چھوٹے پروگرام کا استعمال کرتے ہوئے کر رہے ہیں.

پہلی وجہ یہ ہے کہ trace. شبدبہل ہے. آؤٹ پٹ کی ایک بہت ہو سکتا ہے. آپ استعمال کر رہے ہیں جب یہ بہت اچھا ہے trace. غصے میں ہے، لیکن یہ پہلی نظر میں بھاری اکثریت سے ہو سکتا ہے. وہاں تک محدود ہے trace. ہمارے چھوٹے پروگرام کے لئے پیداوار. دوسری وجہ ہمارے پروگرام محدود فعالیت ہے کہ ہے، اور ماخذ کوڈ مختصر اور براہ راست ہے. یہ آسان تر پیداوار کے حصوں کے پروگرام کے اندرونی کام کاج کے مختلف حصوں کا حوالہ دیتے ہیں جس کی شناخت کے لئے ہوتا ہے.

 strace ./stex

ہم واضح طور پر دیکھ سکتے ہیں لکھیں نظام کو کال متن بھیجنے ہماری کھولی فائل اور کے لئے "فائل کے لیے اس لکھیں" exit_group نظام کو کال. اس درخواست میں ارسال کردہ موضوعات میں ختم اور شیل کے لئے ایک واپسی کی قیمت واپس بھیجتا ہے.

آؤٹ پٹ فلٹرنگ

یہاں تک کہ ہمارے سادہ مظاہرے کے پروگرام کے ساتھ، بہت زیادہ پیداوار ہے. ہم استعمال کر سکتے ہیں - (اظہار) اختیار. ہم اس نظام کے نام سے گزریں گے جو ہم دیکھنا چاہتے ہیں.

 Stace -e لکھیں ./stex367]
  

آپ کو ایک کوما الگ الگ فہرست کے طور پر شامل کرکے ایک سے زیادہ نظام کالوں پر رپورٹ کر سکتے ہیں. سسٹم کالز کی فہرست میں کسی بھی وائٹ اسپیس میں شامل نہ کریں.

 Storace -e بند، لکھیں ./stex3067]
  

ایک فائل میں پیداوار بھیج رہا ہے

آؤٹ پٹ فلٹرنگ کا فائدہ پیداوار کو فلٹر کرنے کے ساتھ بھی مسئلہ ہے. آپ دیکھتے ہیں کہ آپ نے کیا دیکھا ہے، لیکن آپ کو کچھ اور نہیں مل رہا ہے. اور اس میں سے کچھ آپ کو دیکھنے کے لئے پوچھا گیا چیزوں کے مقابلے میں آپ کے لئے زیادہ مفید ہوسکتا ہے.

کبھی کبھی، سب کچھ قبضہ کرنے اور نتائج کے پورے سیٹ کے ذریعے تلاش کرنے اور سکرال کرنے کے لئے یہ زیادہ آسان ہے. اس طرح، آپ غلطی سے کچھ بھی اہم نہیں کریں گے. The. - (آؤٹ پٹ) اختیار آپ کو ایک سے پیداوار بھیجنے کی اجازت دیتا ہے trace. ایک ٹیکسٹ فائل میں سیشن.

 Stace -o ٹریس آؤٹ پٹ .txt ./stex3067]
  

تم پھر کر سکتے ہو کا استعمال کرتے ہیں کم کمانڈ لسٹنگ کے ذریعے سکرال اور نظام کے کالز کے لئے تلاش کریں- یا کسی اور کے نام سے.

 کم ٹریس آؤٹ پٹ. txt 

اب آپ سب کو استعمال کر سکتے ہیں کم پیداوار کی تحقیقات کے لئے تلاش کی صلاحیتیں.

متعلقہ: لینکس پر کم کمانڈ کا استعمال کیسے کریں

ٹائمسٹیمپ شامل

آپ آؤٹ پٹ میں کئی مختلف ٹائمسٹیمپ شامل کرسکتے ہیں. The. -R. (رشتہ دار ٹائمسٹیمپٹس) اختیار ٹائمسٹیمپ شامل کرتا ہے جو ہر مسلسل نظام کے کال کے آغاز کے درمیان وقت کا فرق ظاہر کرتا ہے. نوٹ کریں کہ ان ٹائم اقدار میں پچھلے نظام کال میں خرچ کردہ وقت میں شامل ہوں گے اور اگلے نظام کے کال سے پہلے پروگرام کیا گیا تھا.

 سٹریسر ./stex367]
  

ٹائمسٹیمپ آؤٹ پٹ کی ہر سطر کے آغاز میں دکھائے جاتے ہیں.

ہر نظام میں خرچ کردہ وقت کی رقم کو دیکھنے کے لئے، استعمال کریں ٹی ٹی (SYSCALL-TIME) اختیار. اس سے پتہ چلتا ہے کہ ہر نظام کے کال کے اندر گزرا وقت کی مدت.

 stace -t ./stex367]
  

ہر نظام کال لائن کے اختتام پر وقت کی پائیداریاں دکھائی دی جاتی ہیں.

اس وقت دیکھنے کے لئے جس میں ہر نظام کو کال کیا گیا تھا، استعمال کریں -TT.TT. (مطلق ٹائمسٹیمپ) اختیار. یہ "دیوار گھڑی" وقت سے ظاہر ہوتا ہے، ایک مائیکروسافٹ قرارداد کے ساتھ.

 stace -ttt./stex367]
  

اوقات ہر لائن کے آغاز میں ظاہر ہوتا ہے.

چل رہا ہے عمل کا سراغ لگانا

اگر آپ اس عمل کو ٹریس کرنا چاہتے ہیں تو پہلے سے ہی چل رہا ہے، آپ اب بھی منسلک کرسکتے ہیں trace. اس کے لئے. ایسا کرنے کے لئے، آپ کو عمل کی شناخت کو جاننے کی ضرورت ہے. تم کر سکتے ہو استعمال پی ایس کے ساتھ grep. اسے تلاش کرنے کے لئے. ہمارے پاس فائر فاکس چل رہا ہے. کی شناخت کو تلاش کرنے کے لئے فائر فاکس عمل، ہم استعمال کر سکتے ہیں پی ایس اور اس کے ذریعے پائپ grep. .

 پی ایس ای | Grep فائر فاکس 

ہم دیکھ سکتے ہیں کہ عمل کی شناخت 8483 ہے. ہم استعمال کریں گے پی (عمل کی شناخت) بتانے کا اختیار trace. کون سا عمل منسلک کرنے کے لئے. نوٹ کریں کہ آپ کو استعمال کرنے کی ضرورت ہوگی سوڈو انکار

 سڈو سٹریس -P 8483 

آپ ایک نوٹیفکیشن دیکھیں گے trace. خود کو عمل میں منسلک کیا ہے، اور پھر نظام ٹریس کالز ٹرمینل ونڈو میں معمول کے طور پر دکھایا جائے گا.

ایک رپورٹ بنانا

The. سی (صرف خلاصہ) اختیار کا سبب بنتا ہے trace. ایک رپورٹ پرنٹ کرنے کے لئے. یہ سسٹم کالز کے بارے میں معلومات کے لئے ایک میز پیدا کرتا ہے جو پتہ چلا پروگرام کی طرف سے بنایا گیا تھا.

 stace -c ./stex367]
  

کالم ہیں:

  • ٪ وقت : ہر نظام کو کال میں خرچ کیا گیا تھا کہ پھانسی کے وقت کا فی صد.
  • سیکنڈ : سیکنڈ اور microseconds ہر نظام کال میں گزارے میں اظہار کل وقت.
  • usecs / کال : ہر نظام کو کال میں گزارے microseconds میں اوسط وقت.
  • کالز : ہر نظام کو کال پھانسی دے دی گئی ہے کہ اوقات کی تعداد.
  • غلطیاں : ہر نظام کو کال کے لئے ناکامیوں کی تعداد.
  • syscall سسٹم کی کال کا نام.

ان اقدار کو پھانسی اور جلدی ختم کہ چھوٹی سی پروگراموں کے لئے صفر دکھائے گا. حقیقی دنیا کے اقدار کہ ہمارے مظاہرے درخواست کے مقابلے میں زیادہ بامعنی کچھ کرنے کے پروگراموں کے لئے دکھائے جاتے ہیں.

گہری بصیرت، آسانی

The. trace. پیداوار ہے جس کا نظام کالز بنا رہے ہیں کیا جا رہا ہے، والوں نے بار بار کئے جا رہے ہیں جس میں، اور کتنا عملدرآمد وقت دانا کی طرف کوڈ کے اندر خرچ کیا جا رہا ہے آپ کو دکھا سکتے ہیں. یہ بہت اچھا معلومات ہے. اکثر ایسا ہوتا ہے، آپ کو آپ کے کوڈ کے اندر کیا ہو رہا ہے سمجھنے کی کوشش کر رہے ہیں جب، یہ آسان ہے کہ آپ کے بائنری کے اس کے افعال میں سے بہت سے انجام دینے کے لئے دانا کے ساتھ تقریبا مسلسل بات چیت کر رہا ہے بھول جانا ہے.

کا استعمال کرتے ہوئے trace. ، آپ کو مکمل تصویر کو دیکھیں.


لینکس - انتہائی مشہور مضامین

کس طرح لینکس کے لئے ایک گرافیکل ڈیوائس مینیجر حاصل کرنے

لینکس Mar 17, 2025

افریقہ سٹوڈیو / Shutterstock.com. لامتناہی ہیں لینکس کمانڈ لائن کی افادیت جو آپ کے کمپیوٹر کے..


Beginners کے لئے میں Docker: سب کچھ آپ کو جاننے کی ضرورت ہے

لینکس Jun 15, 2025

ڈاکر پیکڈ ایپلی کیشنز پیدا کرتا ہے کنٹینرز کہا جاتا ہے. ہر کنٹینر اے کے اسی طرح الگ الگ ماحول �..


کس طرح اپ ڈیٹ کرنے کے لئے قوس لینکس

لینکس Jul 30, 2025

اوبنٹو پروجیکٹ وقت آپ قوس لینکس نظام کو اپ ڈیٹ کرنے آیا ہے؟ آپ خالص قوس یا جیسے ایک قوس �..


لینکس پر fsck کمانڈ استعمال کرنے کے لئے کس طرح

لینکس Aug 18, 2025

Pixza اسٹوڈیو / Shutterstock کی ہماری اہم اعداد و شمار کے تمام ایک قسم یا کسی اور کا فائل سسٹم میں ..


پوپ! _OS کیا ہے؟

لینکس Oct 20, 2025

آپ کے بارے میں سنا ہے تو پاپ! _OS ، آپ لوگوں کو اکثر بہترین ونڈوز متبادل یا گیمنگ کے لئے مثالی لینکس ..


لینکس میں DNS کو کیسے فلش کریں

لینکس Nov 14, 2024

کیا آپ کا انٹرنیٹ براؤزنگ کا تجربہ آپ کے لینکس ڈیوائس پر سست ہے ، یا آپ کی ویب سائٹیں ہیں جن کی آپ پرانی ہیں �..


PIDOF یا PGREP کے ساتھ لینکس کے عمل کے PID کو کیسے تلاش کریں

لینکس Nov 15, 2024

لینکس کے عمل کے ساتھ کام کرنے کا مطلب اکثر اس کے عمل کی شناخت ، یا PID جاننا ہوتا ہے۔ یہ ایک انوکھا نمبر ہے جو �..


5 اوبنٹو لینکس کی خصوصیات جو آپ کو استعمال کرنا چاہئے

لینکس Dec 6, 2024

اوبنٹو لینکس فیچر رچ ہے اور پہلے سے نصب سافٹ ویئر کے ایک تیار کردہ انتخاب کے ساتھ آتا ہے۔ اگرچہ تھوڑا سا گہر..


اقسام