2015-10-14 36 views
0

我想学习使用gdb调试php。附加到php过程后,我收到有关为php5-mysql,php5-pgsql调试符号的错误。哪里可以发布?php5 - 使用gdb调试CRC不匹配

# gdb -p 33087 
GNU gdb (GDB) 7.4.1-debian 
Copyright (C) 2012 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it. 
There is NO WARRANTY, to the extent permitted by law. Type "show copying" 
and "show warranty" for details. 
This GDB was configured as "x86_64-linux-gnu". 
For bug reporting instructions, please see: 
<http://www.gnu.org/software/gdb/bugs/>. 
Attaching to process 33087 
Reading symbols from /usr/bin/php5...Reading symbols from /usr/lib/debug/usr/bin/php5...done. 
done. 
... 
Reading symbols from /usr/lib/php5/20100525/pdo.so...Reading symbols from /usr/lib/debug/usr/lib/php5/20100525/pdo.so...done. 
done. 
Loaded symbols for /usr/lib/php5/20100525/pdo.so 
Reading symbols from /usr/lib/php5/20100525/curl.so...Reading symbols from /usr/lib/debug/usr/lib/php5/20100525/curl.so...done. 
done. 
Reading symbols from /usr/lib/php5/20100525/mcrypt.so...Reading symbols from /usr/lib/debug/usr/lib/php5/20100525/mcrypt.so...done. 
done. 
... 
Reading symbols from /usr/lib/php5/20100525/mysql.so... 
warning: the debug information found in "/usr/lib/debug//usr/lib/php5/20100525/mysql.so" does not match "/usr/lib/php5/20100525/mysql.so" (CRC mismatch). 


warning: the debug information found in "/usr/lib/debug/usr/lib/php5/20100525/mysql.so" does not match "/usr/lib/php5/20100525/mysql.so" (CRC mismatch). 

(no debugging symbols found)...done. 
Loaded symbols for /usr/lib/php5/20100525/mysql.so 
Reading symbols from /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18...(no debugging symbols found)...done. 
Loaded symbols for /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18 
Reading symbols from /usr/lib/php5/20100525/mysqli.so... 
warning: the debug information found in "/usr/lib/debug//usr/lib/php5/20100525/mysqli.so" does not match "/usr/lib/php5/20100525/mysqli.so" (CRC mismatch). 


warning: the debug information found in "/usr/lib/debug/usr/lib/php5/20100525/mysqli.so" does not match "/usr/lib/php5/20100525/mysqli.so" (CRC mismatch). 

(no debugging symbols found)...done. 
Loaded symbols for /usr/lib/php5/20100525/mysqli.so 
Reading symbols from /usr/lib/php5/20100525/pdo_mysql.so... 
warning: the debug information found in "/usr/lib/debug//usr/lib/php5/20100525/pdo_mysql.so" does not match "/usr/lib/php5/20100525/pdo_mysql.so" (CRC mismatch). 


warning: the debug information found in "/usr/lib/debug/usr/lib/php5/20100525/pdo_mysql.so" does not match "/usr/lib/php5/20100525/pdo_mysql.so" (CRC mismatch). 

(no debugging symbols found)...done. 
Loaded symbols for /usr/lib/php5/20100525/pdo_mysql.so 
Reading symbols from /usr/lib/php5/20100525/pdo_pgsql.so...Reading symbols from /usr/lib/debug/usr/lib/php5/20100525/pdo_pgsql.so...done. 
done. 
Loaded symbols for /usr/lib/php5/20100525/pdo_pgsql.so 
Reading symbols from /usr/lib/x86_64-linux-gnu/libpq.so.5...(no debugging symbols found)...done. 
Loaded symbols for /usr/lib/x86_64-linux-gnu/libpq.so.5 
... 
0x00007fe63e36b18d in poll() from /lib/x86_64-linux-gnu/libc.so.6 
(gdb) 

如何解决类似 “警告:中发现的调试信息 ”错误/usr/lib/debug/usr/lib/php5/20100525/mysql.so“ 不匹配”/ usr/lib中/ PHP5 /20100525/mysql.so“(CRC不匹配)。”?有趣的是,其他php扩展的符号是可以的,但只适用于mysql,mysqli,postgres失败。

Debian Wheezy 7.6,所有的php软件包都是5.4.41-0+deb7u1

回答

2

如何解决类似错误warning: the debug information found in "/usr/lib/debug/usr/lib/php5/20100525/mysql.so" does not match "/usr/lib/php5/20100525/mysql.so" (CRC mismatch).

警告告诉你,从两个.so库附带的软件包在不同的版本,你应该更新-dbg包在与安装mysql包。

此命令:

dpkg -S /usr/lib/debug/usr/lib/php5/20100525/mysql.so \ 
    /usr/lib/php5/20100525/mysql.so 

会告诉你哪些包的.so期从进来。此命令:

dpkg -l <package1> <package2> 

会告诉你他们的安装版本。

+0

你的解决方案可以帮助我们找出相关的软件包和版本,但如果最后一条命令告诉你两个软件包的版本完全相同,那么会出现什么问题? 有同样的确切问题,这两个有关包是5.4.45-0 + deb7ull 难道这意味着文件有点“损坏”? – Sorcy

+0

@Sorcy无论是文件损坏(强制重新安装可能会有帮助),或包生成器搞砸了(报告这是一个针对您从软件包中获取软件包的存储库的错误)。 –