タグ

linuxとdebugに関するrin51のブックマーク (5)

  • システムコールトレーシング: 吸い込まれる標準入力を観察する - にゃみかんてっくろぐ

    Linuxその2 Advent Calendar 2020 18 日目の記事です。 「スクリプト書いてたんですが、なぜか途中で止まるんです」と言われた。 止まっている様子(シンタックスハイライトが綺麗でないので画像で) 確かに yarn gen で止まっている。 yarn start も date も実行されていない。終了コードは 0 で、正常だ。 「ファイルとして実行してみて」と伝えた。 最後まで実行される様子 最後まで実行された。 雰囲気で「たぶん 標準入力が吸い込まれている」と雑返答をしてしまったが、ここでその正体を明らかにしておきたい。 1. strace でシステムコールを記録する 2. システムコールから挙動を観察する 2-1. ヒアドキュメントの書き出し 2-2. 標準入力をヒアドキュメントに差し替え 2-3. bash を実行 2-4. 標準入力を読み込み 2-5. dat

    システムコールトレーシング: 吸い込まれる標準入力を観察する - にゃみかんてっくろぐ
  • Linuxカーネルの起動時トレースの話 - Qiita

    カーネル起動時トレース Linuxカーネルの起動処理は、様々なことが行われるのにそれをデバッグする方法はprintkだったり、逆にkgdbを外部デバッガから繋いだりと、結構な手間がかかっていました。カーネルが起動してしまえば、ftraceにperf, BPF, systemtapと複数の手段が使えるのに、起動時のデバッグは細かいことが出来ません。これは、起動時に指定できるオプションが大雑把になるのが大きな理由の一つでした。シェル芸ではないですが、1行プログラミングだけで様々なことをするのは大変です。 そこで導入されたのがExtra Boot Configuration (bootconfig)です。Bootconfigについては前回の記事を参考にしてください。 ここではカーネルコマンドラインのトレースオプションと、Bootconfigによって拡張されたBoot-time trace(CON

    Linuxカーネルの起動時トレースの話 - Qiita
  • Debug-application-inside-Kubernetes-using-Linux-Kernel-tools

    Embedded Container Runtime Updates - The container performance issues caused by the cgroup

    Debug-application-inside-Kubernetes-using-Linux-Kernel-tools
    rin51
    rin51 2020/10/16
    > Kenta Tada R&D Center Sony Corporation
  • ftraceの仕組みとアーキテクチャ

    はじめにじっくりとライトブーストの仕事をする予定だったのに, ライトブーストのテストにはsystemtapを使いたいなぁとか妄想してたら, 気づいたらftraceについて調べていたので一段落ということでメモっておく. 参考資料としては, “Linuxカーネル Hacks"の8章と, カーネルのソースコードと, ネット上に転がっている文書もろもろ. 理解した内容については, Twitterで散々つぶやくも片っ端から無視されてしまったので, 完全に独断によるものだから(想像も多く含まれる), 正しいかどうか分からないが, 誤っていたら/補足があれば, 今度こそTwitterで指摘して. 色々調べてしまったので, 検討の結果, いくつかの記事に分離して書くことにした. 2-3個になると思う. ftraceの基原理ftraceの仕事は, 名前の示すとおり, 関数単位である. 関数単位で, 「それ

    ftraceの仕組みとアーキテクチャ
  • Ftraceでカーネルの一部の処理を追いかける方法 - Qiita

    ftraceのfunctionトレーサやfunction graphトレーサを使うと、カーネルの関数呼び出し処理を追いかけることができます。 ftraceの諸機能をカーネルで有効にする方法については前回の投稿を参照してください。ただし今回書いている内容は、恐らくFedoraやUbuntuのカーネルではデフォルトで有効になっています。 関数コールトレーサ ftraceにはLinuxカーネル内の関数呼び出しをトレースする関数コールトレーサ・関数コールグラフトレーサをサポートしています。 関数コールトレーサはfunctionを、関数コールグラフトレーサは function_graph を、/sys/kerne/debug/tracing/current_tracerに書き込むだけで利用できます。 これらの関数コール(グラフ)トレーサは、インライン展開されていないすべての関数呼び出しをトレースし、

    Ftraceでカーネルの一部の処理を追いかける方法 - Qiita
  • 1