简体   繁体   中英

php5 - Debugging with gdb CRC mismatch

I'm trying to learn debugging php using gdb. After attaching to a php process I'm recieving errors about debugging symbols for php5-mysql, php5-pgsql. Where can be issue?

# 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)

How to fix errors like "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)."? It is interesting that symbols for other php extension are ok, but only for mysql, mysqli, postgres are failing.

Debian Wheezy 7.6 , all php packages are 5.4.41-0+deb7u1 .

How to fix errors like 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).

The warning tells you that the packages from which the two .so libraries came are at different versions, and you should update the -dbg package to match installed mysql package.

This command:

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

will tell you which packages the .so s came from. This command:

dpkg -l <package1> <package2>

will tell you their installed versions.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM