Это то же самое, что этот , за исключением того, что я запускаю execl ("/ bin / ls", "ls", NULL);
.
Результат явно неправильный, так как каждый системный вызов возвращается с -38
:
[user@ test]# ./test_trace
syscall 59 called with rdi(0), rsi(0), rdx(0)
syscall 12 returned with -38
syscall 12 called with rdi(0), rsi(0), rdx(140737288485480)
syscall 9 returned with -38
syscall 9 called with rdi(0), rsi(4096), rdx(3)
syscall 9 returned with -38
syscall 9 called with rdi(0), rsi(4096), rdx(3)
syscall 21 returned with -38
syscall 21 called with rdi(233257948048), rsi(4), rdx(233257828696)
...
Кто-нибудь знает причину?
ОБНОВЛЕНИЕ
Теперь проблема:
execve called with rdi(4203214), rsi(140733315680464), rdx(140733315681192)
execve returned with 0
execve returned with 0
...
execve
возвращено 0
дважды , почему?