সরঞ্জাম `strace` এর মতো তবে সিপিইউ নির্দেশাবলীর জন্য


0

আমি straceসিপিইউ দ্বারা ব্যবহৃত নির্দেশাবলীর ফলস্বরূপ অনুরূপ কিছু সন্ধান করার প্রত্যাশা করছি । উদাহরণস্বরূপ, আমার একটি সরল লুপ রয়েছে যা একটি যোগফল গণনা করে এবং প্রতি দশম পুনরাবৃত্তিকে মুদ্রণ করে

float fsum = 0.0;
for(int i = 0; i < 1000; i++) {
  if(i%10==0) {
    fprintf(stderr, "%10.5f%%\n", 100.0*float(i)/float(1000));
  }
  fsum += 1.0/float(i);
}

এখন, বিবৃতি straceসম্পর্কে তথ্য দেবে fprintfযেহেতু এটি একটি write(2বিবৃতি, তবে এটি সংক্ষেপণের পদক্ষেপগুলি সম্পর্কে কোনও তথ্য দেয় না। আমি যদি ব্যবহৃত সিপিইউ নির্দেশাবলী সহ বর্তমানে চলমান একটি প্রোগ্রাম সম্পর্কে তথ্য পেতে চাই তবে তা করার কোনও উপায় আছে কি?

দ্রষ্টব্য: আমি এমন সরঞ্জামগুলি সম্পর্কে জানি gprofযেগুলির পূর্বে সংকলন প্রয়োজন। আমি gprofআপনাকে দিতে পারে একই তথ্য সন্ধান করার জন্য একটি উপায় অনুসন্ধান করছি , তবে একটি চলমান প্রোগ্রামের সাথে যা মনের মধ্যে প্রোফাইলিং সহ সংকলিত বা নাও হতে পারে with


কি সম্পর্কে gdb: gnu.org/software/gdb ..?
txtechhelp

সম্ভবত আমার ভুল হয়েছে তবে আমি ভাবিনি যে জিডিবি একটি ইতিমধ্যে চলমান প্রোগ্রামের সাথে সংযুক্ত করতে পারে, তাই না?
drjrm3

হ্যাঁ: আপনি যে প্রোগ্রামটি সংযুক্ত করতে চান তার পিআইডি gdb prorgram 1234কোথায় 1234আছে; ডিরেক্টরিতে আপনার যেখানে জিডিবি নামক চালিত আপনার ডিরেক্টরিতে কোনও ফাইল না ঘটলে 1234এটি ফাইলটি ডিবাগ করার চেষ্টা করবে, অন্যথায় পিআইডি। আপনি যদি সুনির্দিষ্ট প্রোগ্রামটির জন্য ডিবাগ প্রতীক না রাখেন তবে আপনি সম্পূর্ণ সম্পাদন স্ট্যাকগুলি দেখতে পাবেন না (যেমন প্রোগ্রামের নিজস্ব জিনিসগুলির সম্পূর্ণ ফাংশন নাম) তবে আপনি কী ঘটছেন তার বেশ কিছুটা দেখতে পাবেন (সমাবেশ সহ, যেমন সিপিইউ নির্দেশাবলী)
txtechhelp
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.