Oracle 11g pro*c用のMakefile
android用 ログ出力クラス
13:51 | 0 Comments
androidのログクラス
android2.2,android4.0のHTC Desire(初代),HTC Jでテストしどちらも期待通りの動作。
使い方はAndroidManeifest.xmlに下記を追加(SDカードに保存しているため)
メインactivityのOnCreateで初期化
MYUtilityEx.init( this );
MYUtilityEx.SetDebugAble( true );
任意の関数で以下を実行すると/mnt/sdcard/test.logに日付、時間、java行数、メッセージを表示
MYUtilityEx.MY_LOG_FILE( "ATEST", "test.log", "write_test starttime" );
global tag systemとLXR
15:36 | 0 Comments
apacheサーバを立てているとこれらを利用してソース解析が用意にできる。
LXR、global tag systemもどちらもapacheの公開ディレクトリの設定を変更して運用
する必要があるので設定方法の記述は省略。
global tag system
http://www.gnu.org/software/global/
LXR
http://sourceforge.net/projects/lxr/
LXRで作成されたlinux kernelソースのクロスリファレンス
http://lxr.oss.org.cn/
global tag systemの使い方
ソースブラウザにしたいターゲットソースがあるディレクトリで以下を実行
1.gtags -v
2.htags -safFn
cやjavaの混在環境(android)の場合は先にfindコマンドでファイルリストを作成しておく
1.find . type f -print >filelist
2.gtags -f >filelist
3.htags -safFn
・cflow(関数コールツリー)との連携
cflow
http://www.gnu.org/software/cflow/
1.gtags -v
2.cflow --tree --format=posix `global -P` > cflow.out
3.cflow --tree --format=posix --reverse `global -PP >cflow-r.out
4.htags -safFn --cflow=cflow.out --callee-tree=cflow-r.out
bashロックファイル
15:09 | 0 Comments
ロック開放をまたない
flock -n 9
ロック開放を待つ場合
flock 9
ロック解除
flock -u
audit
14:34 | 0 Comments
signal 15(term),signal(kill)を送信したプログラムとその相手をログに記録するための設定
audit.rulesに以下を追記
# vi /etc/audit/audit.rules
-a exit,always -F arch=b64,-F al=15 -S kill -k KILL_TERM
-a exit,always -F arch=b32,-F al=15 -S kill -k KILL_TERM
-a exit,always -F arch=b64,-F al=9 -S kill -k KILL_KILL
-a exit,always -F arch=b32,-F al=9 -S kill -k KILL_KILL
設定を変更したあと
#service audit restart
audit動作確認はauserachでキワード(kオプション)を利用。
#kill xxx (消してもいい自作プログラム)
#auserach -k KILL_TERM
bashdb
14:04 | 0 Comments
ソースが長い場合や、いろいろなbashを内部でincludeしている場合はbashdbを利用する。
またbashdbは使用している bashにあったものを利用する。
また、使用shellに合わせてbashdb,zshdb,kshdbがある。
shellデバッガ
http://sourceforge.net/projects/bashdb/files/
bashのソースが短い場合の処理の流れを確認んする場合
# sh -x bash_scriptnameで
http://sourceforge.net/projects/bashdb/files/bashdb/
bashdbの基本コマンド
変数の表示
bashdb>print $変数名
配列データを全て表示
bashdb>print ${変数名[@]}
変数を全て表示
bashdb>info variable
関数を全て表示
bashdb>info functions
行数表示
bashdb>info line
デバッグしているファイル
bashdb>info files
ソース表示
bashdb>list
SIGTERMを送信
bashdb>signal 15
カーソルがある処理を飛ばす
bashdb>skip
前方検索
bashdb>search xxx
後方検索
bashdb>reverse xxx
変数のwatch
bashdb>watch xxx
backtraceを表示
bashdb>backtrace
bashをeditする
bashdb>edit