問題タブ [errno]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5770 参照

c - アプリケーション/ライブラリのエラー報告に errno を使用する

ソフトウェア プロジェクト用の C ライブラリを作成しています。エラー報告を行う必要がありますが、エラー コード、変数、および関数の複雑なセットを独自に実装するのが少し面倒です。libc が提供するカスタム エラー報告用の errno 機能を使用することは許容されますか? E...私のすべてのエラーは、マクロによって指定されたカテゴリに当てはまります。

たとえば、コードに SHA256 ハッシュを 16 進数表記で読み取り、それをある種の内部形式に変換する関数が含まれているとします。errnoエラーを報告するために使用したい:

もちろん、この例は非常に単純化されています。実際には、他の関数でさらに多くのエラーが発生する可能性があります。

0 投票する
1 に答える
2221 参照

debugging - gdb の errno にウォッチポイントを設定する

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

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

「-pthread」でコンパイルすることでこれを修正できました。ただし、それでも機能せず、エラーが発生します

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

0 投票する
2 に答える
1227 参照

c++ - stdio は常に errno を設定しますか?

ストリームがエラー (ただし EOF ではない) に遭遇するstdioと、ストリームのエラー インジケータが設定され、ferror()0 以外の値が返されます。私はいつも、より多くの情報が にあると思っていましたerrno。しかし、どうすればこれを知ることができますか?

一部の機能のドキュメント [ man fopenLinux など] には、それerrnoも設定されると記載されています。ただし、man fgets一切言及errnoしない。glibc の情報ページは心強いものです。

ストリームに関連するエラー インジケータの設定に加えて、ストリームを操作する関数は、ファイル記述子を操作する対応する低レベル関数と同じ方法で「errno」も設定します。

しかし、この保証がどれほど強力かはわかりません。C標準で必要ですか?Visual C/C++ ではどうなりますか?

0 投票する
0 に答える
141 参照

c - sendto() が失敗し、telnet 接続が切断され、プログラムがブロックされる

私は何日もこの問題に悩まされてきましたが、これがどこから来たのか本当にわかりません。

UDPを介して通信するプログラムを実行しています。sendto()プログラム間の通信にメソッドを使用しています。また、ユーザーが開いて使用する UI TCP ソケットがあり、telnet を介してプログラムを管理します。telnet 部分は、プログラムの他の機能と 100% 連携しています。

問題は、このsendto()方法を使用しているときに、プログラムが完全にブロックされ、Telnet 接続が切断されることです (通信がホストによって切断されたと表示されます)。私の問題は、プログラムがブロックされると、sendto()後で何が実行されないため、失敗するのかがわからないことです。次のようなものでも:

で何も情報が得られませんerrno。telnet 接続が切断されているという事実は、私には奇妙に思えます。なぜなら、それは非常に異なるポート上にあるため、このように中断されるべきではないからです。UDP ソケットを非ブロッキングとして設定しようとしましたが、それでも機能しません。コードの非動作部分は次のとおりです。

事前にご協力いただきありがとうございます。具体的な情報が必要な場合はお問い合わせください。

0 投票する
2 に答える
508 参照

c++ - set_new_handler と errno

を使用set_new_handlerし、ハンドラー関数が呼び出されerrnoた場合、設定されることが保証されmallocます。それとも使ったほうがいいstrerror(ENOMEM)ですか?errnoMicrosoft C++ と GCC で動作しますが、それが保証されているかどうかという問題が残ります。

0 投票する
1 に答える
1057 参照

c++ - fdopen() の呼び出し後の Errno 22

呼び出し時にエラーが発生し、22 にfdopen設定errnoされます。exec コマンドを使用して子プロセスを呼び出しています。子はfdopenファイル記述子 4 を呼び出します。最初の子は機能し、データを親に送り返します。親errnoは 0 です。親が次の子プロセスを作成した後、fdopen(4, "w");再度呼び出されます。これは がerrno22 に設定されている場合です。

私が読んだことから、errno22 forfdopen()はモード引数が正しくないことを意味する可能性があります。fnctlまた、それはエラーである可能性があり、それはファイル記述子が悪いことを意味する可能性があることも読みました。ファイル記述子 4 を指定すると、最初の子プロセスで動作します。errno別の を作成しようとすると 22 に設定されているのはそのためでしょうFILE*か?

ある子プロセスではいつ機能するのかわかりませんが、次の子プロセスでは機能しません。誰かが私のためにこれに光を当てることができますか?

コードは次のとおりです。

0 投票する
2 に答える
1035 参照

mysql - テーブルを作成できませんerrno 150

これが私のSQLスクリプトです

構文エラーは表示されません。すべてがうまく見えます。私のデータベースエンジンはinnoDBです。しかし、どうして私はこのエラーを受け取り続けるのですか?

エラーが発生している行は表示されません。

0 投票する
2 に答える
1219 参照

c - lseek EOVERFLOW エラー処理

off_t が表すことができるよりも多くのバイトをシークしようとすると、EOVERFLOW エラーが発生することに気付きました。off_t でより大きな数を求めるにはどうすればよいですか?

0 投票する
1 に答える
2014 参照

gdb - GDB の値の代わりに「errno」名を出力します

errnoGDBで数字だけでなく記号名を出力する方法はあるのだろうか。たとえば、代わりに

次のようなものを見たいです

0 投票する
4 に答える
10287 参照

c - open() が失敗し、errno が設定されないのはなぜですか?

私のコードopen()では、戻りコード -1 で失敗しますが、どういうわけかerrno設定されていません。

出力は

errno が設定されていないのはなぜですか? open()失敗した理由を特定するにはどうすればよいですか?