コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2008年7月24日 >>> 2008年7月11日
link もっと後

2008年7月24日

ptraceのサンプルプログラム

目次: Linux

まぶち氏からptraceのサンプルない?って言われたのでstraceを紹介しました。straceはptraceの難しいところをどうしているのか見るには良いですが、初めてptraceを使う人が見るもんじゃない気がします。

入門に使えると信じて、簡単なサンプルを作ってみたので公開。Linux専用です。link ソースコードはこちらからどうぞ。
(2008年7月25日追記)需要はなさそうなものの、一応ライセンスを明確にしました。修正BSDライセンスです。

うまくいけばトレース対象のシステムコール名がずらっと表示されるはずです。以下に私の環境での実行結果を示します。

簡易ptraceプログラムのコンパイル、実行結果
$ gcc -Wall 20080724_ptrace_simple.c

$ ls -l
合計28
-rw-r--r-- 1 katsuhiro katsuhiro  8679 2008-07-24 02:12 20080724_ptrace_simple.c
-rwxr-xr-x 1 katsuhiro katsuhiro 13367 2008-07-24 02:28 a.out

$ ./a.out ls -la
 1115: child started
 1115: sys out( 11): execve
 1115: sys  in(122): uname
 1115: sys out(122): uname
 1115: sys  in( 45): brk
 1115: sys out( 45): brk
 1115: sys  in( 33): access
 1115: sys out( 33): access
(略)
 1115: sys  in(  4): write
-rwxr-xr-x 1 katsuhiro katsuhiro 13367 2008-07-24 02:28 a.out
 1115: sys out(  4): write
 1115: sys  in(  6): close
 1115: sys out(  6): close
 1115: sys  in( 91): munmap
 1115: sys out( 91): munmap
 1115: sys  in(252): exit_group
 1115: exited, st:0

動作はDebian GNU/Linux 4.0(etch) で確認しました。さほど変なことはやっていないはずなので、最近のLinuxディストリビューションなら問題ないと思います。たぶん…。

簡単な説明

仕組みとしてはforkした後に親プロセスは監視役、子プロセスは監視対象、で役割分担します。

親プロセスの仕事はwait -> ptrace(PTRACE_SYSCALL, ...) を繰り返すことです。子プロセスに何か変化があるとwaitから戻ってくるので、その都度何が起きたか調べます。イベントには色々ありますが、サンプルで見ている種類をざくっと紹介します。

  • 子プロセスの終了 -> 監視を止めます。このとき終了ステータスが取得できます。
  • シグナルでkillされた -> 監視を止めます。このときどのシグナルでkillされたか取得できます。
  • シグナルを受け取った -> ptraceを使ってシグナルを子プロセスに渡します。

子プロセスにシグナルを渡さないと、子プロセスがシグナルを認識できません。逆に言うと監視役の親プロセスのさじ加減次第では、子プロセスに飛んで来たシグナルを消すこともできてしまいます。ただしSIGKILLとSIGSTOPは消せません。

受け取ったシグナルがSIGTRAPだったら、システムコールの入口/出口で止まったことを表しますので、システムコール番号の解析をします。

子の仕事はptrace(PTRACE_TRACEME, ...) を実行して「監視される準備」を整えるだけです。その後は余計なことをせずに監視対象にしたいプログラムをexecしてください。

編集者:すずき(2025/05/21 23:50)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年7月23日

日記検索

いまさらですが、日記検索機能を改善しました。

今までは過去ログ1ページまるごと検索結果で出てくるために、検索結果に出てきたページを表示させても結果がどこにあるかわからなくて、再びブラウザ検索で同じ語句を検索する羽目に陥っていました。

当サイトではせっかく日付部分に <a name="..."> を打っているわけですから、namazuに <a name="..."> を目印にsplitする設定(--html-splitオプション)をしました。すると日付単位で検索結果が出るようになります。良きかな良きかな。

こんな便利な機能があるのに今まで気付いてなかったのがちょっとショックだった…。

編集者:すずき(2008/07/25 03:18)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年7月22日

日本のジャーナリズムとは

毎日新聞が英字版でポルノ記事やら嘘八百を書き散らしていた問題に対して、担当の記者の言い訳。

「性的な話題を取り上げると読者の反応が良かった」上に、「仕事を失うことに恐怖感があり、MDNを閉鎖する言い訳を誰にも与えたくない」といった理由から性的な内容を取り上げていた。

ITmediaの記事毎日新聞、「低俗過ぎ」英文記事問題で内部調査公表 再三の指摘放置、「深刻な失態」より引用

まさに嘘でもなんでもどんと来い。全ては金のために。なんて崇高なジャーナリズムでしょうか…。

記事はマスコミの商品

今回の事件の重大さは、一流マスコミにも関わらず記事チェック機能がいい加減だったことが露呈したことでしょう。

今回の事件を目の当たりにすれば、英語版の記事だけじゃなく日本版の記事にも、

「嘘で誇張すると読者の反応が良かった」上に、「会社が潰れることに恐怖感があり、毎日新聞社を閉鎖する言い訳を誰にも与えたくない」といった理由から(以下略

なんて思うところはありませんか?と勘ぐりたくなります。

毎日新聞は今回「役員と元編集長を処分する。」と厳しく出ました。恐らくさっさと手じまいにしたいのでしょうが、そうもいかないでしょう。この傷は深い。

編集者:すずき(2008/07/23 01:21)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年7月21日

白川郷旅行3日目

大下邸に園芸のメンバーが集まり、飲み会をしていると、まるでつくばにいるかのような錯覚が。懐かしいんだぜー。

昨日の健康的な睡眠とはうってかわって、夜更かしして酒を飲んで枕も使わない不健康な睡眠でしたが、それもまた良し!

昼までうだうだして、新大阪駅へ。地下街(一階?)のぼてじゅうでお好み焼きを食べました。昼時だったからか、かなり混んでました。昼食後、園芸のみなさんは新幹線に乗って帰って行きました…。

大下さんと「終わっちゃったねえ、楽しかったねえ。」ってな話をしつつ帰りました。楽しかった非日常も終わってしまったんだなあ…なんて、大学生の頃より寂しさが増して感じるのでした。ぜひまた行きましょう。

編集者:すずき(2008/07/30 01:06)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年7月20日

白川郷旅行2日目

昨晩は温泉に浸かってゆったりした上、22時消灯だったため、朝の7時に起きても気分爽快。ここ最近体験したことのないくらいの早寝でした。

朝ご飯を食べた後、宿を出発する前に宿の近所を散策しました。宿の裏にある八幡神社や、お寺(光明山常徳寺)に行きました。お寺ではじょーと一緒に謎のメッセージ「みてござる」を発見して喜んでました。仏様が見てるのかな。何にせよ変なのw


宿の近所のお寺、みてござる


宿の近所のお寺、境内

宿を後にする前に、写真を撮りました。そのときに宿も合掌造りだったことに気付きました。びっくりだよ。気付くのがあまりに…あまりに遅すぎたんだよ。


お世話になった宿、看板


お世話になった宿、全景

あと特筆すべき点として、宿にいたわんこが非常に人なつこくてかわいいです。初めて見る人にも吠えないどころか、寝転がって服従ポーズです。

さらに宿の裏の八幡神社に行こうとすると後ろをトコトコついてきます。そのままどこかへ行ってしまうのかと思いきや、人の周りをくーるくーる回ってます。神社から宿に帰ろうとするとやっぱりついてきます。か、かわいすぎる…恐ろしい子…!


今回の主役は彼女です

鍾乳洞を見よう

高山に戻り、飛騨大鍾乳洞へ。鍾乳洞に入る前に大橋コレクション館があります(2007年「金塊が盗まれた事件」で一躍有名に)。飛騨大鍾乳洞を発見した大橋さんの趣味の一品が飾られています。展示物は脈絡無くて金持ちの趣味ですよ〜という空気が出てます。撮影禁止だったのでお届けできないのが残念です。

説明も適当で何が何だかいまいちすごさが分かりません。古そうな壺の前に「古い壺」という説明が書いてあったときは大層笑った。そりゃそうだけど、あまりに適当すぎるぞw

鍾乳洞はなんと気温18度。長袖に長ズボンでも寒かったです。しかし洞窟内の急勾配を登りながら見学するため、このくらいの気温じゃないと暑さで倒れそうです。


鍾乳石に名前がついています


ライトアップされていました

昼は鍾乳洞のふもとにあるメシ屋で飛騨牛入りラーメン(金箔付き)を食べました。名物を適当に組み合わせたハズレ料理かと思ったら、けっこうおいしいです。


ラーメン

帰りは名古屋でひつまむしを食べました。うまー。


ひつまむし

つくばに帰らなければならないちかふみさんと分かれ、一同はそのまま大阪の大下邸へ。明日へ続く。

編集者:すずき(2008/07/30 00:58)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年7月19日

白川郷旅行1日目

岐阜県は飛騨高山(高山市)、そして白川郷(白川村)に行って参りました。まずは新幹線で名古屋へ、そこで園芸の皆さんと合流しました。
その後は、特急ひだで高山まで。車内で「明治時代のあんぱん」を売っていたので買いました。酒粕を使っているそうです。ほのかな酒の香りがします。


あんぱん

駅でレンタカー(トヨタ、アルファード)を借りて、一路白川郷へ。合掌造りの家がたくさんありました。いやまあ、当たり前なんだけどさ…。外人がいっぱいいました。白川郷・五箇山は世界遺産に登録されただけあって、世界的にも有名なんですねえ。


合掌造りの家その1


合掌造りの家その2

白川郷集落の中で一番立派な建物と思われる和田家です。内部はほとんどが博物館ですが、人も暮らしていて2階の一部に「生活スペースなので立ち入り禁止」という表示があります。何だよそれ、おもしろいな。

写真撮りたかったのですが、内部は撮影禁止でした。残念。


和田さんの家

白川郷はとにかく景色が良いです。田んぼが青々としていて、ぽつんと建っている家との対比が綺麗でした。
展望台からの眺めも格別でした。ただ少し山登りが必要なのでもっと涼しい時期に来ると幸せかも知れません。ここは冬もさぞかし綺麗なのだろうな…。


青い田んぼの一軒家


展望台から集落を眺める

白川郷を後にして、宿へ。写真無いけど道の駅にも寄りました。宿の写真は明日の日記に載せます。メシがうまかった。写真の左奥に見えるのは飛騨牛を使ったすき焼きです。うーん、いいねー。

しかしなぜだか、私の鍋だけ焦げ臭くもうもうと白煙が上がっている?あまりに盛大に煙が出てるので、蓋をあけてみるとなんと割り下が入っていない。私のすき焼きだけ入れ忘れられたらしい…。哀れ野菜が焦げ焦げに。

頑張って焦げてない部分を食べるも、全然味がしない。味がしないながらも飛騨牛はおいしかったなあ。さすが飛騨牛!なんてその時は思っていたけれど。冷静に考えれば、割り下がないと気付いた時点で鍋を替えてもらうべきだった。今更言っても仕方ないですけど。


宿の夕食

高山にはタイムリーというコンビニがたくさんありました。大手コンビニに無視されている辺り、田舎らしさが出ておりますよ。

編集者:すずき(2008/07/30 01:09)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年7月18日

連休前

三連休以上の連休前日、給料日、賞与日つまりボーナス、この三つは定時退社日です。これって業界の標準?

連休前に仕事しないで休んどけ?って気持ちは伝わりますが、他はよくわかりません。

あとうちの会社は水曜日と金曜日も「定時退社推奨日」とされています。これもイマイチよくわからんルールである。何か理由があるのかな。

編集者:すずき(2008/07/19 01:45)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2008年7月15日

エコバッグ

晩ご飯をコンビニで買って、家に帰ってきてビニール袋をぽいって捨てると、ビニール袋の寿命がわずか5分です。私に買われたばかりに、即ゴミ箱行きになる袋達になんだか申し訳なくなってきて、最近はエコバッグを使っています。

コンビニのオマケ(カモノハシのイコちゃんが書いてある青いバッグ)なので、ペナペナで貧弱バッグです。初見ではすぐ壊れそうと欠点に感じていたものの、薄っぺらいから畳んで小さくできるし、通勤カバンに放り込んでも気にならない重さなので、普段から持ち歩けるんです。

持ち歩いても気にならない重さ、これは大きい利点です。もし丈夫でごつくて重いエコバッグをもらっていたら、恐らく持って出歩かなかったでしょう。だって邪魔くさいもん…。

編集者:すずき(2008/07/16 02:35)

コメント一覧

  • hdkさん(2008/07/17 07:07)
    エコバッグって各スーパーやドラッグストアにそれぞれ違ったのが売られていて、別の店のを使っちゃいけなさそうな気がするのでなかなか買う気になれません。あと、カワチ薬品のセルフレジはどうするのだろうか。
  • すずきさん(2008/07/19 01:30)
    >hdkさん
    どの店でも気にしないで同じバッグを使っています。嫌な顔されたりしたことはないですね。

    >セルフレジ
    ビニール袋の代わりに置いても文句は言われないと思います。
    ただ、今使っているやつは華奢だから、素直にビニール袋使うよ。無理して壊したらばからしいし。

    #セルフレジって見ないけど、カワチだけのシステムなのだろうか。
  • hdkさん(2008/07/19 08:12)
    おお、他店のは大丈夫、と...

    セルフレジは、下手に置くと機械に文句いわれそうなんだよね。「重量が違います」とかw
open/close この記事にコメントする



2008年7月12日

土曜

同期の皆さんと飲み会しました。金曜じゃなくて土曜なのがポイント。店も街も駅も全く混んでいないのです。素晴らしいでーす。

お店は豆助(高槻市)です。全ての基本が豆腐、豆腐三昧です。

でも結婚して家庭を持つ人が増えてきたら、こんな集まりも出来なくなるだろうなあ。土曜に集まるなんて許されないだろうし。

編集者:すずき(2008/07/16 02:10)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2008年7月24日 >>> 2008年7月11日
link もっと後

管理用メニュー

link 記事を新規作成

<2008>
<<<07>>>
--12345
6789101112
13141516171819
20212223242526
2728293031--

最近のコメント5件

  • link 25年10月6日
    すずきさん (10/10 13:14)
    「ですね。ccはもはやコンパイラというより...」
  • link 25年10月6日
    hdkさん (10/10 08:27)
    「ただのHello, worldでも試して...」
  • link 25年9月29日
    すずきさん (10/03 00:29)
    「なんと、メタパッケージ入れてなかったです...」
  • link 25年9月29日
    hdkさん (10/02 06:51)
    「あれ、dkmsは自動ビルドされるのが便利...」
  • link 20年8月24日
    すずきさん (08/30 22:06)
    「ですね、自分も今はPulseAudioを...」

最近の記事20件

  • link 23年4月10日
    すずき (10/10 01:20)
    「[Linux - まとめリンク] 目次: Linuxカーネル、ドライバ関連。Linux kernel 2.4 for ARMが...」
  • link 25年10月6日
    すずき (10/10 01:19)
    「[makeのデフォルトルールのリンクはLDを使わない] 目次: LinuxMakefileの達人には常識かもしれませんが、ma...」
  • link 09年11月3日
    すずき (10/09 23:58)
    「[Automakeの出力を簡潔化する方法がわからない] 目次: Linux最近はMakefileを自作せずに、GNU Tool...」
  • link 18年7月2日
    すずき (10/09 23:56)
    「[libtoolが見つからないときの謎エラー] 目次: LinuxRaspberry Pi 3を持っているのですが、あまり速く...」
  • link 15年12月27日
    すずき (10/09 23:55)
    「[GNU autotools入門 その2] 目次: LinuxGNU autotoolsは簡単なんですが、使い始めるまではかな...」
  • link 15年12月26日
    すずき (10/09 23:55)
    「[GNU autotools入門 その1] 目次: Linuxソースコードのビルドシステムは多々あって決定打はない(個人的には...」
  • link 19年9月17日
    すずき (10/09 23:54)
    「[makeは環境変数とmake変数の挙動が違う] 目次: Linuxシェルからmakeに渡す環境変数とmake変数の関係を知ら...」
  • link 09年4月8日
    すずき (10/09 23:53)
    「[同じ環境のPC2台なのにsedのビルド成功/失敗が変わる?] 目次: Linuxサーバでプログラムをmakeすると、挙動が違...」
  • link 15年12月28日
    すずき (10/09 23:50)
    「[GNU autotools入門 その3] 目次: LinuxGNU autotoolsの話を書いていて思い出したのですが、a...」
  • link 19年10月14日
    すずき (10/09 23:50)
    「[linux-nextでdirtyがバージョン情報に付く仕組み] 目次: LinuxLinuxというかlinux-nextです...」
  • link 15年6月3日
    すずき (10/09 23:49)
    「[ビルド高速化ツールccache] 目次: Linux巨大なプロジェクト(Androidなど)をコンパイルするときに欠かせない...」
  • link 15年6月5日
    すずき (10/09 23:49)
    「[バージョン管理システムとmakeの相性] 目次: Linux前々から感じていたのですが、この2者は非常に相性が悪いと思います...」
  • link 25年10月4日
    すずき (10/06 02:52)
    「[Linuxのprocファイルシステムの実装 - /proc/pid/ioのopenとread] 目次: Linux以前、Li...」
  • link 25年2月19日
    すずき (10/05 22:30)
    「[LinuxのI/O統計情報が読めないプロセスの謎を追う] 目次: Linux前回はsystemd --userの/proc/...」
  • link 25年10月1日
    すずき (10/05 15:24)
    「[V4L2でUSBカメラのキャプチャをする方法] 目次: LinuxV4L2(Video for Linux 2)は多才で全て...」
  • link 24年12月6日
    すずき (10/05 14:53)
    「[ffmpegでYUVのrawvideo画像を生成、表示する方法] 目次: LinuxFFMPEG(ffmpeg)を使ってYU...」
  • link 23年6月1日
    すずき (10/05 13:59)
    「[自宅サーバー - まとめリンク] 目次: 自宅サーバーこの日記システム、Wikiの話。カウンターをPerlからPHPに移植日...」
  • link 25年10月3日
    すずき (10/05 01:34)
    「[udevでデバイスの属性を調べる方法] 目次: Linuxいつも忘れるudevの使い方メモです。udevadmでデバイス属性...」
  • link 25年9月27日
    すずき (10/03 09:11)
    「[KernelSharkのLatency列の5桁目] 目次: Linux前回(2025年9月20日の日記参照)はKernelS...」
  • link 25年9月20日
    すずき (10/02 02:34)
    「[KernelSharkのLatency列] 目次: LinuxKernelSharkのイベント情報を見ると「Latency」...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 2025年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 10/10 13:14