2010-07-21 5 views
1

Je débogage PHP 5.2.9 et tout fonctionne très bien, mais aujourd'hui au cours du débogage je vois que gdb ne vous arrêtez pas quand je mets:gdb incapable de briser sur appel lstat

 
(gdb) break lstat 

le point d'arrêt est en la liste

 
(gdb) info breakpoints 
Num  Type   Disp Enb Address   What 
1  breakpoint  keep y 0x00002aaaaf810ea0 

mais, comme il est écrit avant, pendant gdb d'exécution ne s'arrête pas quand lstat fonction est appelée. Notez que je suis sûr que lstat est appelé par le moteur PHP parce que je peux voir l'appel en utilisant strace.

S'il vous plaît aidez-moi, ce qui ne va pas avec gdb?

Répondre

3

Essayez de mettre Catchpoint sur lstat syscall

(gdb) catch syscall lstat 
Catchpoint 1 (syscall 'lstat' [107]) 
(gdb) 

Vous aurez besoin gdb 7.0 ou plus

0

strace vous montre que PHP appelle l'appel système lstat, mais votre point d'arrêt est en fait sur la fonction de bibliothèque lstat(). Il est possible que ce soit un appel de bibliothèque différent qui appelle directement l'appel système lstat.

Que montre ltrace?