জিডিবিতে প্রদত্ত ঠিকানায় সমাবেশের নির্দেশকে কীভাবে ভাঙবেন?


97
0x0000000000400448 <main+0>:    push   %rbp
0x0000000000400449 <main+1>:    mov    %rsp,%rbp
0x000000000040044c <main+4>:    mov    $0x6,%eax
0x0000000000400451 <main+9>:    leaveq 
0x0000000000400452 <main+10>:   retq   

আমি চেষ্টা করেছিলাম:

breaki 0x0000000000400448

তবে মনে হয় এমন কোনও আদেশ নেই।

জিডিবির কি এমন বৈশিষ্ট্য রয়েছে?


4
কেন breaki? এটা কি টাইপো?
ফিলল 294

4
@ ব্লাউহিরন সম্ভবত একটি অনুমানযুক্ত উপমা হিসাবে stepiএবং nextiযা নির্দেশক স্তরে একক পদক্ষেপের জন্য ব্যবহৃত হয়।
প্রতি লন্ডবার্গ

উত্তর:


147

চেষ্টা করুন break *0x0000000000400448


15
সম্ভবত * কারণ একটি ঠিকানা নির্দিষ্ট করা প্রয়োজন। দেখতে sourceware.org/gdb/current/onlinedocs/gdb/...
লরেন্ট জি

4
এবং অবশ্যই আপনি নেতৃস্থানীয় শূন্যগুলি মুছে ফেলতে পারেন এবং সংক্ষিপ্ত বিবরণ breakদিতে পারেন b *0x400448
ব্যবহারকারী 202729

নামক ক্রিয়াকলাপ বা ডেটা দিয়ে নাম ছড়িয়ে দেওয়া 0x0000000000400448(যা হবে তা অস্বাভাবিক!)
ড্যান অ্যান্ডারসন

4
@ সংকলন-ফ্যান বিরতি * ঠিকানা ঠিকানা ঠিকানায় একটি ব্রেকপয়েন্ট নির্ধারণ করুন। আপনি এটি আপনার প্রোগ্রামের অংশগুলিতে ব্রেকপয়েন্টগুলি সেট করতে ব্যবহার করতে পারেন যার মধ্যে ডিবাগিং তথ্য বা উত্স ফাইল নেই। এফটিপি
P4cK3tHuNt3R

63

অন্য উপায়:

break *main+4

এটি 0x000000000040044c
আমার ব্রেকডপয়েন্ট যুক্ত করবে আমি মনে করি পুরো ঠিকানাটি লেখার চেয়ে এটি আরও সহজ!

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