هذا هو الأمر vgdb الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
vgdb - وسيط بين Valgrind و GDB أو قذيفة
موجز
vgdb [الخيارات]
الوصف
vgdb ("Valgrind to GDB") يستخدم كوسيط بين Valgrind و GDB أو قذيفة.
لها وضعان للاستخدام:
1. كأداة مساعدة قائمة بذاتها ، يتم استخدامه من سطر أوامر shell لإرسال أوامر الشاشة
لعملية تعمل تحت Valgrind. لهذا الاستخدام ، يجب أن يكون خيار (خيارات) vgdb
متبوعًا بأمر الشاشة للإرسال. لإرسال أكثر من أمر واحد ، افصل بينهم
مع الالجائزة -c الخيار.
2. بالاشتراك مع GDB "الهدف البعيد |" الأمر ، يتم استخدامه كتطبيق الترحيل
بين GDB و Valgrind gdbserver. لهذا الاستخدام ، يمكن إعطاء OPTION (s) فقط ،
ولكن لا يمكن إعطاء الأمر.
OPTIONS
- معرّف التعريف =
يحدد PID للعملية التي يجب أن يتصل بها vgdb. هذا الخيار مفيد
في حالة إمكانية توصيل أكثر من Valgrind gdbserver. إذا كان --معرّف الحجة
غير معطى ويتم تشغيل العديد من عمليات Valgrind gdbserver ، سيقوم vgdb بالإبلاغ عن ملف
قائمة بهذه العمليات ثم الخروج.
--vgdb- بادئة
يجب أن تعطى لكل من Valgrind و vgdb إذا كنت تريد تغيير البادئة الافتراضية لـ
FIFOs (الأنابيب المسماة) المستخدمة للاتصال بين Valgrind gdbserver و
vgdb.
- انتظر =
يوجه vgdb للبحث عن خوادم Valgrind gdb المتاحة لعدد محدد من
ثواني. هذا يجعل من الممكن بدء عملية vgdb قبل بدء Valgrind
gdbserver الذي تنوي اتصال vgdb به. هذا الخيار مفيد عندما
تستخدم جنبًا إلى جنب مع أ --vgdb- بادئة هذا فريد للعملية التي تريدها
أنتظر لأجل. أيضًا ، إذا كنت تستخدم ملحق --انتظر حجة في GDB "الهدف البعيد" الأمر ، أنت
يجب تعيين GDB remotetimeout على قيمة أكبر من قيمة الوسيطة --wait. ارى
خيار --ماكس استدعاء مللي (أدناه) للحصول على مثال لتعيين قيمة فترة التشغيل عن بُعد.
--max-invoke-ms =
يعطي عدد المللي ثانية التي بعدها سيفرض vgdb استدعاء
gdbserver مضمن في Valgrind. القيمة الافتراضية هي 100 مللي ثانية. قيمة 0
يعطل الاحتجاج القسري. يتم استخدام الاستدعاء الإجباري عندما يكون vgdb متصلاً بملف
Valgrind gdbserver ، وعملية Valgrind تم حظر جميع مؤشرات الترابط الخاصة بها في النظام
مكالمة.
إذا حددت قيمة كبيرة ، فقد تحتاج إلى زيادة قيمة GDB "remotetimeout"
من قيمته الافتراضية وهي ثانيتان. يجب عليك التأكد من أن المهلة (بالثواني)
أكبر من --ماكس استدعاء مللي القيمة. على سبيل المثال ، ل --max-invoke-ms = 5000أطلقت حملة
أمر GDB التالي مناسب:
(gdb) تعيين remotetimeout 6
- مهلة cmd =
يوجه vgdb مستقل للخروج إذا كان Valgrind gdbserver المتصل به يعمل
لا يعالج أمرًا في عدد الثواني المحدد. القيمة الافتراضية هي
أبدا المهلة.
- المنفذ =
يوجه vgdb لاستخدام tcp / ip والاستماع إلى GDB على المنفذ المحدد nr بدلاً من
لاستخدام أنبوب للتواصل مع GDB. يسمح استخدام tcp / ip بتشغيل GDB على جهاز واحد
الكمبيوتر وتصحيح أخطاء عملية Valgrind التي تعمل على كمبيوتر هدف آخر. مثال:
# على الكمبيوتر الهدف ، ابدأ البرنامج باستخدام valgrind
valgrind --vgdb-error = 0 بروغ
# ثم في غلاف آخر ، قم بتشغيل:
vgdb --port = 1234
على الكمبيوتر الذي يستضيف GDB ، نفّذ الأمر:
برنامج gdb
(gdb) الهدف البعيد الهدف: 1234
حيث الهدف هو عنوان IP أو اسم المضيف للكمبيوتر الهدف.
-c
لإعطاء أكثر من أمر واحد إلى vgdb مستقل ، افصل الأوامر عن طريق أحد الخيارات
-c. مثال:
vgdb v.set log_output -c leak_check أي ملف
-l
يوجه vgdb مستقل للإبلاغ عن قائمة عمليات Valgrind gdbserver
الجري ثم الخروج.
-D
يوجه ملف vgdb مستقل لإظهار حالة الذاكرة المشتركة التي يستخدمها ملف
Valgrind gdbserver. سيتم الخروج من vgdb بعد إظهار مشاركة Valgrind gdbserver
حالة الذاكرة.
-d
يوجه vgdb لإنتاج إخراج التصحيح. أعط متعددة -d args لزيادة
الإسهاب. عند العطاء -d إلى relay vgdb ، من الأفضل إعادة توجيه الخطأ القياسي
(stderr) من vgdb إلى ملف لتجنب التفاعل بين إخراج التصحيح GDB و vgdb.
استخدم vgdb عبر الإنترنت باستخدام خدمات onworks.net