問題タブ [printk]
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.
c - printkはラインバッファリングされていますか?
Linuxアプリケーションレベルでは、すべてのprintfメッセージはに移動しstdout、すべてのerrメッセージはに移動しますstderr。どこ
stderrは通常、バッファリングされておらず、
stdoutはラインバッファリングされます
それで、マクロを指定するそのような他のレベルの 有無にかかわらずkernel space使用するとき、このメッセージはどのようにバッファリングされますか?printk()KERN_ERR
dmesg別のメカニズムはありますか?
c++ - 構造体とそのすべてのコンテンツを画面に出力する方法は?
構造体と構造体へのポインタを入力として取得し、そのすべての内容を次のように出力するマクロをc/で見つけたいと思います。c++typedef
という名前の構造体があるとしましょうstruct account。
そして、私はそれを次のように使用します:
Linux kernel/c lanaguge に次のようなマクロが必要です。
そして次を印刷します:
アイデアは、カーネルに一種のdirpython関数を持たせることです
linux-kernel - linux-kernel {{sys-callの追加:ユーザースペースからのテスト:data/printkの問題}}
さて、カーネルスペースにいくつかのシステムコールを正常に追加しました。現在、私は彼らの主な意図をコメントアウトしています。データがユーザースペースからカーネルスペースに正常に、そして期待どおりに渡されていることを確認したかったのです。現在、ユーザースペースで変数をunsigned longとして宣言し、printkを介して出力すると、値が同じにならないという問題が発生しています。私はこのトピックに関する他の問題を見てきましたが、それらは役に立たなかったようです。人々は単にprintkを間違って使用していたと思います。以前、文字列を出力するだけのカーネルスペースでこれをテストしましたが、すべて問題がなかったので、ユーザースペースから渡されるデータを追加して、この問題が発生しました。
ユーザースペース:
カーネルスペース:
すべて正常にコンパイルされ、警告やエラーは発生しません。しかし、:を実行すると、期待していた47ではなく1334886164dmesg | tail -20のような値が得られます。(はい、必要なすべての、、、などを実行しました)。まるでゴミを掴んだり、メモリを使いすぎたりしているようです。しかし、私は途方に暮れています。何か考え/アイデアはありますか?makemake module_install installreboot
linux - カーネルログへの出力に関する制限
Linux デバイス ドライバー (カーネル バージョン 2.6.32-37) に取り組んでいます。ほとんどの場合、(printk を使用して) カーネル ログに出力してコードをデバッグします。コンピューターが突然応答しなくなるまで、すべてがうまくいきます。何度もチェックしましたが、私のコードは正しいようです。私の質問は:
カーネルログへの出力が多すぎると、コンピューターが応答しなくなる可能性はありますか?
どうもありがとう!
オマー
logging - アプリケーションの実行中にカーネル ログを記録する
printkこのようなLinuxカーネル内にいくつかのステートメントを入れました
a.out次のように、 application の実行中にこのコマンドの出力を記録することに興味があります。
しかし、この方法はうまくいかないようです。newLog.txt と oldLog.txt はどちらも同じようなものです。ただし、コマンド出力で確認でき"Hello from Kernel"ますdmesg。このようなログをキャプチャする簡単な方法を知っていますか?
2 番目の質問はログレベルについてです。ステートメントで使用KERN_DEBUGしましたが、設定してもコマンド出力に出力されます。printkecho 1 > /proc/sys/kernel/printkHello from kerneldmesg
c - 新しくコンパイルされたカーネルを起動した後、printk が書き込みを停止しました
VMware マシンで最新の Linux カーネル バージョン (3.7.6) をコンパイルし、新しいカーネルで正常に起動できましたが、何らかの理由で、syslog でカーネルからの printk メッセージを表示できません(/var/log をチェックしています) /messages )、動的に挿入されたモジュールが syslog に書き込まれない
私も試してみました
しかし運がない
私のprintk構成は以下の値で問題ないようです
私が使用しているモジュールもロードされており、そこから見ることができます
解像度に関するアイデアは大歓迎です。
linux - Linux カーネルの printk 出力
私は Linux カーネル開発に不慣れで、timekeep.c ファイルに printk 関数を追加するだけでシステム コール関数を変更しようとすると、次のようになります。
dmesg ユーティリティを使用すると、次のような出力が得られます。
[] 内のものがどのように生成されるのか、よくわかりません。誰かが私にそれについてのヒントを教えてもらえますか?
android - Android KERN_DEBUG ログ レベル
Android では、KERN_DEBUG ログ レベルはどこに書き込まれますか? たとえば、私が電話するとしたら
次に、出力はどこに書き込まれますか?