我想用它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