كيفية تحميل برنامج القراءة ستدين وأخذ المعلمات في جدب؟

StackOverflow https://stackoverflow.com/questions/455544

سؤال

<اقتباس فقرة>   

ولدي البرنامج الذي يأخذ مدخلات من   ستدين وأيضا يحتاج إلى بعض المعلمات   من سطر الأوامر. يبدو مثل هذا:

cat input.txt > myprogram -path "/home/user/work"
     

وأنا أحاول أن تصحيح التعليمات البرمجية مع جدب   ايماكس الداخل، من قبل M-س جدب، وأنا أحاول أن   تحميل برنامج مع الأمر:

gdb cat input.txt > myprogram -path "/home/user/work"
     

ولكن، جدب لا ترغب في ذلك.

والسؤال cribbed من هنا . للأسف أنا لا أفهم الحل ولست متأكدا ما يجب القيام به خارج ترجمة مع خيار -g وتشغيل الأمر M-س جدب.

هل كانت مفيدة؟

المحلول

إذا كانوا يفعلون ذلك من قذيفة كنت تفعل مثل هذا:

% gdb myprogram
gdb> run params ... < input.txt

ويبدو أن هذا العمل داخل ايماكس للغاية.

نصائح أخرى

وهناك عدة طرق للقيام بذلك:

$ gdb myprogram
(gdb) r -path /home/user/work < input.txt

أو

$ gdb myprogram
(gdb) set args -path /home/user/work < input.txt
(gdb) r

أو

$ gdb -ex 'set args -path /home/user/work < input.txt' myprogram
(gdb) r

وحيث يستخدم الأمر جدب run (r) بشكل افتراضي الحجج كما هو مبين سابقا مع set args.

لأجل اكتمال "عند بدء جلسة تصحيح هناك أيضا خيار --args. أي)

gdb gdbarg1 gdbarg2 --args yourprog arg1 arg2 -x arg3

وإذا كنت لا تحتاج إلى تصحيح من جدا ابتداء يمكنك أيضا إرفاق عملية قيد التشغيل بالفعل باستخدام:

$ gdb myprogram xxx

وحيث xxx هو معرف العملية. فإنك لا تحتاج أن تقول GDB الحجج البداية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top