問題タブ [chardev]

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 投票する
0 に答える
119 参照

c - カーネル出力のドライバモジュールの奇妙な dmesg

前の質問からモジュールのロードに失敗したのはなぜですか? (/dev/scull0 : そのようなデバイスやアドレスはありません)経由でモジュールをロードできました/sbin/insmodが、その後、dmesg をログアウトしました:

ここで私は観察することができます.混乱はscull_trim(以下のソース)とそれを解決するためのカーネルトリガーによって引き起こされます(または、カーネルで何か問題が発生したときにstraceカーネル呼び出しを行いますか?).Call Trace:

scull_trim:

関数scull_trimは基本的にlinux デバイス ドライバー、3 エディションopenからのものであり、関数の意図は、メソッドが呼び出される前にデバイスからすべてのバイトを取り除くことです。しかし、なぜdmesgカーネルがそれを解決するために strace を呼び出さなければならなかったというエラーが発生したのでしょうか?

編集: 問題を解決することはほとんど不可能であるため、github: repo:scull deviceからソース (および dmesg ダンプ) を追加しています。問題を解決するためにアクセスしてください。

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

c - カーネルログをデバッグするには?

このチュートリアルに従ってスカルデバイスを作成しようとしています: linux device drivers . 私のソースはここにあります私のスカルレポ、ここにはdmesg2.errカーンログダンプのファイルがあります。以前、修正したドライバ モジュールの char デバイス カーネル出力の奇妙な dmesgを初期化する際に問題がありました。問題は、空のデバイスから読み取ろうとすると、 が表示される/dev/scull0ことkilledです。または、私が書き込もうとするecho "abc" >/dev/stdinと、Segmentation fault. kern.log からデバッグする方法を本当に学びたいのですが、まだそのためのスキルがありません (私は中級の c であり、GAS asm の基本です)。そのため、カーネルのデバッグに関する本当に優れた本が欲しいです。 + それを理解するために必要なスキル。ソースでバグを見つけることができますが、将来的にはこれらのバグを自分で解決するつもりです。アドバイスをありがとう。