08:11:38 # Life wlを新しいバージョンにしてみた. 2.14にアップデートしたら, SPAMメールを分類するのに利用している elisp が動作しなくなってしまった. wl-summary-refile のオプションの順番が変わったらしい. とりあえず変更して逃げる.
;; hook keybind to wonderlust. (defun wl-dancer-move-spam () "refile spam to SPAM folder" (interactive) ;; for wl 2.14, order changed (wl-summary-refile (wl-summary-message-number) "+from/junkmail/miss-SPAM") (wl-summary-next))
08:23:32 # Life ptraceの使い方を確認するためにstraceのソースを見る. syscall.cを読んでみると,各アーキテクチャに対応するための部分が ifdefでかこまれていて可読性が非常に悪い. ちょっとむなやけ. 各アーキテクチャに対応するにはこういうことになってしまう,ということを確認. あと,forkされた場合には,ptraceは追跡できないので, forkの戻り値などを調べて子プロセスに再度attachする必要があるらしい.
実行された命令の数を数えるという用途の例などは簡単に実装できるが, syscallをトラップする,という使い方はかなり辛い.
armにstraceのサポートを追加する際のパッチ. こういうパッチは,どういう追加が必要なのかということがわかって面白い. コードを書き換えてブレークポイントを設定している.fork を追いかけるためだろうか.
Dan Jacobwitzのメールを見ていると, ptraceでfork/exitなどをトラップするようにする,みたいなことは既に試みられているようだ. 2003年: Ptrace updates: event tracing for vfork finish and process exit [4/5] PTRACE_EVENT_FORKをハンドリングしたらなんとかなるのだろうか?
$Id: dancer-diary.el,v 1.89 2005/05/12 11:19:14 dancer Exp $