- 论坛徽章:
- 0
|
应该是具体环境的问题,从现象上来看,是调试环境中的库采用了分离调试信息文件的方式,而又没有另外安装调试信息文件。
网上搜到下面内容,给出了一些解决办法的邮件链接,可以参考一下。
GDB Messages Enhanced To Indicate Missing Debuginfo Files
A query from NealBecker asked[1] why running gdb on a program now produced many warnings of the form "Missing the separate debug info file: /usr/lib/debug/.build-id/XXXXXXX.debug". AndrewHaley responded[2] that the problem was that the appropriate "-debug" packages for the shared libraries were not installed and suggested that the absence of specific information as to which libraries were missing was a bug.
[1] https://www.redhat.com/archives/ ... nuary/msg00300.html
[2] https://www.redhat.com/archives/ ... nuary/msg00302.html
While acknowledging that it was slightly awkward to find the information MattMiller suggested[3] enabling the debuginfo repository so that YUM could be used to install the missing filename's package. JesseKeating added[4] that it was easier to use debuginfo-install <appname> which would automatically enable the debuginfo repository and install the requisite debuginfo packages. A very informative post from JanKratochvil, a Red Hat employee primarily focusing on GDB, followed[5]. Jan's post showed how to find the name of the library missing debuginfo ls -l /usr/lib/debug/.build-id/fa/XXXX.debug, how to find the RPM package name to install the debuginfo repoquery -qf /usr/lib/debug/.build-id/fa/XXXXX.debug and as suggested previously by MattMiller how to simply install the missing debuginfo package with yum install /usr/lib/debug/.build-id/fa/XXXXX.debug. Jan cautioned that debuginfo-install <appname> method might not work due to multiple simultaneous debuginfo versions present and he also encouraged discussion on how to improve the output.
[3] https://www.redhat.com/archives/ ... nuary/msg00306.html
[4] https://www.redhat.com/archives/ ... nuary/msg00307.html
[5] https://www.redhat.com/archives/ ... nuary/msg00308.html
Further discussion between AndrewHaley and Jan on how to improve the ability of GDB to suggest the correct debuginfo packages uncovered some constraints. Jan pointed[6] out that debuginfo-install will have problems with dynamically opened libraries, that printing out a suggested RPM package would unacceptably tie GDB to Fedora. These debuginfo files are the result of work by RolandMcGrath and others on BuildID, which is a Fedora 8 feature[7][8], which extended the information in core files to include specific versions of binaries and dynamic shared objects. This enables precise replication of a problem for debugging. Implementing this required changes to the kernel[8a], ld and other parts of the compiler toolchain and so are of general interest, non-exclusive to Fedora. AndrewHaley suggested[9] that a local (to Fedora) patch could produce his version of perfection, which would be to suggest a specific yum installation command. JamesAntill thought[10] that if perfection and local patching were being considered then tighter integration with rpm or yum could allow the use of debuginfo-install <packagename>.
[6] https://www.redhat.com/archives/ ... nuary/msg00312.html
[7] http://fedoraproject.org/wiki/Releases/FeatureBuildId
[8] Section 15.2 of the gdb info file explains that a build-id is a section of the executable file which is a unique identification hash which remains constant across multiple builds of the same build tree.
[8a] http://www.uwsg.indiana.edu/hype ... el/0707.1/1702.html
[9] https://www.redhat.com/archives/ ... nuary/msg00317.html
[10] https://www.redhat.com/archives/ ... nuary/msg00339.html
When TomLondon experimented[11] with debuginfo-install and got a large list of dependencies Jan asked[12] why debuginfo packages were pulling in binary packages and suggested a patch to the redhat rpm macros. RolandMcGrath responded[13] with a suggestion that redhat-rpm-config should also change.
[11] https://www.redhat.com/archives/ ... nuary/msg00350.html
[12] https://www.redhat.com/archives/ ... nuary/msg00353.html
[13] https://www.redhat.com/archives/ ... nuary/msg00362.html
In closing DavidNielsen suggested[14] that PackageKit might aid in figuring out which packages were missing and offering to install them for the user.
[14] https://www.redhat.com/archives/ ... nuary/msg00355.html |
|