سؤال

أحاول معرفة متى يتغير errno.

في البداية حاولت "watch errno" في gdb، مما أدى إلى حدوث الخطأ

Cannot find thread-local variables on this target

لقد تمكنت من إصلاح هذا عن طريق التحويل البرمجي باستخدام "-pthread".ومع ذلك، فإنه لا يزال لا يعمل والآن أحصل على الخطأ

Cannot find shared library `/usr/lib/debug/lib/x86_64-linux-gnu/libc-2.13.so' in dynamic linker's load module list

عندما أكتب "شاهد errno".ما الذي يجب علي فعله حتى يعمل تعيين نقطة مراقبة على errno؟

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

المحلول

errno لم يعد مجرد متغير ثابت بعد الآن.إليك كيف تظهر تطبيقات userland على Linux (من ملفي المحلي /usr/include/x86_64-linux-gnu/bits/errno.h):

#   define errno (*__errno_location ())

هذا للحصول على حالة الخطأ لكل موضوع.

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