تصحيح عملية تصحيح مؤشر الترابط باستخدام GDB / DBX
سؤال
قد يكون هذا سؤال حقيقي لكنني أسأل هنا منذ أن كنت خارج أي فكرة عندما سئلت عن هذا السؤال في مقابلة.
كيف يمكن تصحيح مؤشر ترابط تم إنشاؤه بواسطة مؤشر ترابط آخر؟ دعنا نقول أن هناك عملية رئيسية وتدعو الوظيفة Pthread_Create لإنشاء عملية مؤشر ترابط غير قابلة للانتهاء والتي تعني كل من العملية الرئيسية على حد سواء وعملية مؤشر الترابطات المنشأة حديثا ستكون مهامها الخاصة وإذا بدأنا في تصحيح البرنامج كيف يمكن تصحيح البرنامج نحن ننتقل إلى الخيط الذي تم إنشاؤه؟
شكرا مقدما.
المحلول
يمكنك إرفاق GDB بالعملية بأكملها، ثم استخدم GDB الصفحات المكتبية للتنقل بين المواضيع. قد يساعد ذلك في طباعة معرف الصفحات عند pthread_create'ing الخيط الذي تريد تصحيحه.
لا تنتمي إلى StackOverflow