كيفية تحميل برنامج القراءة ستدين وأخذ المعلمات في جدب؟
-
19-08-2019 - |
سؤال
ولدي البرنامج الذي يأخذ مدخلات من ستدين وأيضا يحتاج إلى بعض المعلمات من سطر الأوامر. يبدو مثل هذا:
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 الحجج البداية.