Debugging ltrace只打印两个调用

Debugging ltrace只打印两个调用,debugging,gdb,ltrace,Debugging,Gdb,Ltrace,我在文字处理器上运行了ltrace,打开了一个示例文件,但令人惊讶的是,我只接到了两个电话 __libc_start_main(0x8048820, 1, 0xbfe08844, 0x8048850, 0x80488b0 <unfinished ...> _ZN10AP_UnixApp4mainEPKciPPc(0x8048910, 1, 0xbfe08844, 0xb61feff4, 0x8048850) = 0 +++ exited (status 0) +++ uuu lib

我在文字处理器上运行了ltrace,打开了一个示例文件,但令人惊讶的是,我只接到了两个电话

__libc_start_main(0x8048820, 1, 0xbfe08844, 0x8048850, 0x80488b0 <unfinished ...>
_ZN10AP_UnixApp4mainEPKciPPc(0x8048910, 1, 0xbfe08844, 0xb61feff4, 0x8048850) = 0
+++ exited (status 0) +++
uuu libc_ustart_umain(0x8048820,1,0xbfe08444,0x8048850,0x80488b0
_ZN10AP_UnixApp4mainEPKciPPc(0x8048910,1,0xbfe08844,0xb61feff4,0x8048850)=0
+++已退出(状态0)+++

ltrace不应该打印所有库调用吗?

问题是,
ltrace
只截取从主可执行文件(
abiword
)到其他共享库的调用,而不截取从一个共享库到另一个共享库的调用

对于
abiword
main
函数实际上没有太多功能:

(gdb) disas main
Dump of assembler code for function main:
   0x0000000000400a70 <+0>: mov    %rsi,%rdx
   0x0000000000400a73 <+3>: mov    %edi,%esi
   0x0000000000400a75 <+5>: mov    $0x400b6c,%edi
   0x0000000000400a7a <+10>:    jmpq   0x400950 <_ZN10AP_UnixApp4mainEPKciPPc@plt>
End of assembler dump.
生成(非常长)的跟踪,从以下内容开始:

528.528 attached /usr/bin/abiword
528.528 call #libpthread.so.0#_init(0x1, 0x7fffa8ba5bd8, 0x7fffa8ba5be8, 0x7fffa8ba5be8, 0x1f25bc2, 0x7)
528.528  call #libpthread.so.0#__pthread_initialize_minimal(0x1, 0x7fffa8ba5bd8, 0x7fffa8ba5be8, 0x7fffa8ba5be8, 0x1f25bc2, 0x7)
528.528   call #libpthread.so.0#__libc_sigaction(0x20, 0x7fffa8ba5a70, 0x0, 0x0, 0x1f25bc2, 0x7)
528.528   call #libpthread.so.0#__libc_sigaction(0x21, 0x7fffa8ba5a70, 0x0, 0x7f32501f27b0, 0x0, 0x7)
528.528   call #libc.so.6#getrlimit(0x3, 0x7fffa8ba5b10, 0x3f, 0x40, 0x0, 0x7) = 0
528.528   call #libc.so.6#sysconf(0x1e, 0x7fffa8ba5b10, 0x3f, 0x30220e7b17, 0x0, 0x7)
528.528    call #libc.so.6#getpagesize(0x1e, 0x7fffa8ba5b10, 0xfffffffffff51435, 0x30220e7b17, 0x0, 0x7) = 4096
528.528   leave #libc.so.6#sysconf = 4096
528.528   call #libc.so.6#__libc_dl_error_tsd(0x1e, 0x7fffa8ba5b10, 0x800000, 0x2a40, 0x0, 0x7) = 139854069229848
...
Ftrace文档

528.528 attached /usr/bin/abiword
528.528 call #libpthread.so.0#_init(0x1, 0x7fffa8ba5bd8, 0x7fffa8ba5be8, 0x7fffa8ba5be8, 0x1f25bc2, 0x7)
528.528  call #libpthread.so.0#__pthread_initialize_minimal(0x1, 0x7fffa8ba5bd8, 0x7fffa8ba5be8, 0x7fffa8ba5be8, 0x1f25bc2, 0x7)
528.528   call #libpthread.so.0#__libc_sigaction(0x20, 0x7fffa8ba5a70, 0x0, 0x0, 0x1f25bc2, 0x7)
528.528   call #libpthread.so.0#__libc_sigaction(0x21, 0x7fffa8ba5a70, 0x0, 0x7f32501f27b0, 0x0, 0x7)
528.528   call #libc.so.6#getrlimit(0x3, 0x7fffa8ba5b10, 0x3f, 0x40, 0x0, 0x7) = 0
528.528   call #libc.so.6#sysconf(0x1e, 0x7fffa8ba5b10, 0x3f, 0x30220e7b17, 0x0, 0x7)
528.528    call #libc.so.6#getpagesize(0x1e, 0x7fffa8ba5b10, 0xfffffffffff51435, 0x30220e7b17, 0x0, 0x7) = 4096
528.528   leave #libc.so.6#sysconf = 4096
528.528   call #libc.so.6#__libc_dl_error_tsd(0x1e, 0x7fffa8ba5b10, 0x800000, 0x2a40, 0x0, 0x7) = 139854069229848
...