জিডিবি: ভেরিয়েবল সমান মান হলে বিরতি


91

আমি যখন জিডিবি একটি ব্রেক পয়েন্ট সেট করতে চাই যখন একটি ভেরিয়েবল আমার কিছু মান সেট করে, আমি এই উদাহরণটি চেষ্টা করেছিলাম:

জিডিবি থেকে আউটপুট:

আপনি দেখতে যেমন, জিডিবি কোনও ব্রেক ব্রেক পয়েন্ট করেনি, জিডিবি দিয়ে এটি কি সম্ভব?

উত্তর:


127

ব্রেকপয়েন্টের ভিতরে বাসা বাঁধার একটি ওয়াচপয়েন্ট ছাড়াও আপনি 'ফাইলের নাম: লাইন_ নাম্বারে' একটি একক ব্রেকপয়েন্টও সেট করতে পারেন এবং একটি শর্ত ব্যবহার করতে পারেন। আমি এটি মাঝে মাঝে সহজ বলে মনে করি।

আমার মতো যদি আপনি লাইন নম্বর পরিবর্তনে ক্লান্ত হয়ে পড়ে থাকেন তবে আপনি একটি লেবেল যুক্ত করতে পারেন তারপরে লেবেলে ব্রেকপয়েন্টটি সেট করুন:


30

আপনি এটির জন্য একটি ওয়াচপয়েন্ট ব্যবহার করতে পারেন (কোডের পরিবর্তে ডেটার উপর একটি ব্রেকপয়েন্ট)।

আপনি ব্যবহার করে শুরু করতে পারেন watch i
তারপরে এটি ব্যবহার করে একটি শর্ত সেট করুনcondition <breakpoint num> i == 5

আপনি ব্যবহার করে ব্রেকপয়েন্ট নম্বর পেতে পারেন info watch


4
(gdb) watch i No symbol "i" in current context.
SIFE

4
যে কোড iরয়েছে সেখানে আপনাকে এমন জায়গায় থাকতে হবে । ব্যবহার করে দেখুন break main, run, c, sউত্তরে কমান্ড (ধাপ নিশ্চিত করুন যে আপনি ঘোষণা গত পেতে করতে), এবং তারপর। -gপতাকাটি দিয়ে আপনার প্রোগ্রামটি সংকলন করতে ভুলবেন না । (অর্থাত্‍ ডিবাগ তথ্য সহ)
অনাদায়ী

এক্সিকিউশন শুরু হওয়ার আগে, আপনার মূল নির্বাহযোগ্যের সাথে যুক্ত অন্যান্য সংকলন ইউনিট / ফাইলগুলি এখনও লোড করা যায় না। নিফটি বিকল্প তারপর ব্যবহার করা start <args>হয়, যা ভালো হয় tb main, run <args>। এটি প্রোগ্রামটি শুরু করবে, আপনাকে আরও সহজে ব্রেক / ওয়াচ পয়েন্ট সেট করতে দেয়।
JWCS

9

প্রথমে, আপনার কোডটিকে উপযুক্ত ফ্ল্যাগ দিয়ে সংকলন করতে হবে, কোডটিতে ডিবাগ সক্ষম করে।

তারপরে আপনার প্রিয় ডিবাগার দিয়ে কেবল কোড চালান run

আমাকে কোডটি দেখান

5 লাইন ভাঙ্গা এবং i == 5 দেখুন।

ব্রেকপয়েন্টগুলি পরীক্ষা করা

প্রোগ্রাম চলমান


4

হার্ডওয়্যার এবং সফ্টওয়্যার ওয়াচপয়েন্ট রয়েছে। এগুলি পড়ার জন্য এবং একটি পরিবর্তনশীল লেখার জন্য। আপনার একটি টিউটোরিয়ালের পরামর্শ নেওয়া দরকার:

http://www.unphanroad.com/rtfm/gdbtut/gdbwatch.html

একটি ওয়াচপয়েন্ট সেট করতে, প্রথমে আপনাকে কোডটি এমন একটি জায়গায় বিভক্ত করতে হবে যেখানে আমি পরিবেশে উপস্থিত ভ্যারিয়েনালটি উপস্থিত করব এবং ওয়াচপয়েন্টটি সেট করব।

watchকমান্ডটি লেখার rwatchজন্য, পড়ার সময় , এবং awatchপড়ার / লেখার জন্য একটি ওয়াচপাইট সেট করতে ব্যবহৃত হয় ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.