Почему эта программа ptrace сообщает, что системный вызов вернул -38?

Это то же самое, что этот , за исключением того, что я запускаю 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 дважды , почему?

5
задан Community 23 May 2017 в 10:28
поделиться