strace
での奇妙な動作をデバッグするために使用したいと思いますdb2
。何らかの理由で呼び出されないSQL 関数がmyFoo()
実装されています (一部のコード アクセス パスが存在しないか、承認されていません。ここを参照してください)。私のSql関数は、共有ライブラリの関数を呼び出します(したがって、db2用語で)。C
Foo
/usr/local/lib/libmyfoo
/usr/local/lib/libmyfoo!Foo
strace
db2 とクエリを直接使用すると、次のエラーが表示されます
A database connection does not exist
そのため、次のスクリプト呼び出しdebug.sh
を作成しました。アイデアは、db2 接続がアクティブなシェルを用意してトレースすることです。
db2 "connect to MYDB"
db2 "select * from table(myFoo())" # this calls /usr/local/lib/libmyfoo!Foo
db2 "disconnect MYDB"
strace がバイナリで動作することに気付いたので動作しませんので、エラーが発生します
Exec Format Error