我想用它strace
来调试一个奇怪的行为db2
。我有一个myFoo()
实现的 SQL 函数C
,由于某种原因没有被调用(某些代码访问路径不存在或未经授权,请参见此处)。My Sql Function 调用Foo
共享库中的函数/usr/local/lib/libmyfoo
(所以在 db2 term 中/usr/local/lib/libmyfoo!Foo
)。
如果我strace
直接使用 db2 和查询我有一个错误说
A database connection does not exist
所以我用以下内容创建了一个脚本调用debug.sh
。这个想法是让一个 db2 连接处于活动状态的 shell 并对其进行跟踪。
db2 "connect to MYDB"
db2 "select * from table(myFoo())" # this calls /usr/local/lib/libmyfoo!Foo
db2 "disconnect MYDB"
它不起作用,因为我意识到 strace 与二进制文件一起工作,所以我有错误
Exec Format Error