Depurando o php com gdb

6

Eu estou tentando depurar um SIGSEGV em PHP no meu Ubuntu 9.10.

Eu instalei o php5-dbg para ter os símbolos de depuração disponíveis, no entanto, quando eu inicio o gdb, ele mostra a seguinte saída:

Reading symbols from /usr/bin/php...Reading symbols from /usr/lib/debug/usr/bin/php5...done. (no debugging symbols found)...done.

Todas as ideias são bem vindas. Agradecemos antecipadamente!

    
por Johnco 14.11.2010 / 15:05

1 resposta

4

Em determinadas situações, os pacotes -dbg não funcionam corretamente. Em vez disso, experimente os pacotes -dbgsym , disponíveis no repositório separado de "símbolos de depuração":

link

No entanto, ao tentar isso localmente com o Ubuntu 9.10, não tenho nenhum problema em carregar símbolos usando o pacote php5-dbg existente. Talvez tenha certeza de ter as atualizações mais recentes instaladas primeiro e depois tentar?

Como exemplo:

$ cat /tmp/test.php
<?php sleep(10); ?>
$ gdb php
...
(gdb) run /tmp/test.php
...
^C
Program received signal SIGINT, Interrupt.
0xf7fe0430 in __kernel_vsyscall ()
(gdb) bt
#0  0xf7fe0430 in __kernel_vsyscall ()
#1  0xf7a13b50 in nanosleep () from /lib/tls/i686/cmov/libc.so.6
#2  0xf7a13991 in sleep () from /lib/tls/i686/cmov/libc.so.6
#3  0x081fbfc1 in zif_sleep (ht=1, return_value=0x866d204, 
    return_value_ptr=0x0, this_ptr=0x0, return_value_used=0)
    at /build/buildd/php5-5.2.10.dfsg.1/ext/standard/basic_functions.c:4787
#4  0x082f9616 in zend_do_fcall_common_helper_SPEC (execute_data=0xffffafbc)
    at /build/buildd/php5-5.2.10.dfsg.1/Zend/zend_vm_execute.h:200
#5  0x082f511b in execute (op_array=0x866d7f0)
    at /build/buildd/php5-5.2.10.dfsg.1/Zend/zend_vm_execute.h:92
#6  0x082cf414 in zend_execute_scripts (type=8, retval=0x0, file_count=3)
    at /build/buildd/php5-5.2.10.dfsg.1/Zend/zend.c:1215
#7  0x08284166 in php_execute_script (primary_file=0xffffd454)
    at /build/buildd/php5-5.2.10.dfsg.1/main/main.c:2046
#8  0x08352c38 in main (argc=2, argv=0xffffd554)
    at /build/buildd/php5-5.2.10.dfsg.1/sapi/cli/php_cli.c:1170
    
por Kees Cook 10.02.2011 / 08:13