5

errno がいつ変更されるかを調べようとしています。

最初に、gdb で「watch errno」を試みたところ、エラーが発生しました。

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

「watch errno」と入力すると。errno にウォッチポイントを設定するには、どうすればよいですか?

4

1 に答える 1

6

errnoもはや単なる静的変数ではありません。Linux のユーザーランド アプリには次のように表示されます (私のローカルから/usr/include/x86_64-linux-gnu/bits/errno.h):

#   define errno (*__errno_location ())

これは、スレッドごとにエラー状態を取得するためです。

于 2012-05-18T18:59:48.920 に答える