كيف يمكن للمرء تلقائيًا إرفاق مصحح أخطاء بعملية في العملية تبدأ على OS X؟

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

  •  21-09-2019
  •  | 
  •  

سؤال

لدي عملية تولد عملية المساعد. في بعض الأحيان ، أحتاج إلى تصحيح فشل بدء التشغيل في العملية الثانية.

على Windows ، أود استخدام Image File Execution Options, ، أو ntsd -o. ومع ذلك ، ليس لدي أي فكرة عن كيفية القيام بذلك مع GDB على OS X.

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

المحلول

استخدام GDB -انتظر. على سبيل المثال ، حاول

gdb --wait TextEdit

من سطر الأوامر ، ثم إطلاق TextedIt.

نصائح أخرى

لا أعتقد أنه يمكنك إطلاق GDB بنفس الطريقة. بدلاً من ذلك ، قم بتشغيل عملية الوالدين من داخل GDB أو إرفاق عملية التشغيل قبل أن تمنع المساعد. هناك إعداد يسمى follow-fork-mode التي تتحكم في العملية التي يتبعها تصحيح الأخطاء. ألق نظرة على دليل GDB للحصول على وصف لطيف.

إذا كنت تستخدم LaunchD لتفرخ العمليات ، فهناك ملف WaitForDebugger مفتاح منطقي الذي يذهب في ملف plist للوظيفة. إذا كان نعم ، فانتظر LaunchD (بشكل مدهش!) لتصحيح الأخطاء من قبل exec()جي الوظيفة.

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