كيف يمكن للمرء تلقائيًا إرفاق مصحح أخطاء بعملية في العملية تبدأ على OS X؟
-
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()
جي الوظيفة.