Linuxのエラーコードについて

Linuxのエラーコードについて

私はLinux(カーネルバージョン2.6.32.28)ノートブックを使用しています。
ファイルio挿入/実行/SDコンボカードを削除すると、次のエラーが発生します。

mmcblk0: error -123 sending status command  
mmcblk0: error -123 sending read/write command, response 0x0, card status 0x0  
mmcblk0: error -123 sending requesting status 

今、これらのエラーが何を意味するのか理解したいと思います。

私が見ることができるように、標準エラーコードの非常に少ない部分はarch/powerpc/boot/stdio.hにありますが、他のコードはさまざまな場所に分散しています。

Linuxには(ソースコードで)エラーコードを追跡して理解するための体系的な方法はありますか?

ベストアンサー1

シェルで以下を実行できますperror

$ perror 123
OS error code 123:  No medium found

これはMySQLに付属しています。

MySQLがない場合は、PerlまたはPythonを使用できます。たとえば、次のようになります。

$ perl -MPOSIX -e 'print strerror(123)'
No medium found

$ python -c 'import os; print os.strerror(123)'
No medium found

Cプログラムでは、同じ名前の関数を使用できます。

void perror(const char *s);

メッセージが印刷さsれ、エラーの理由が追加されます。

または、次のものを使用できます。

char *strerror(int errnum);

必要に応じて検査または印刷できるように、エラーの説明を文字列として返します。

詳細については、およびを参照してくださいman 3 perrorman 3 strerror

おすすめ記事