【发布时间】:2018-04-19 11:22:36
【问题描述】:
我正在调试一个使用动态链接共享库运行的 C 应用程序。该程序在 Ubuntu 14.04 64 位上运行良好。但是,当 Linux 在退出应用程序时终止共享对象时,它会在 Ubuntu 16.04 上产生分段错误。
在 gdb 中,我在分段错误发生之前设置了一个断点。然后我用info source查看源文件信息:
Thread 1 "test" hit Breakpoint 3, _dl_fini () at dl-fini.c:201
(gdb) info source
Current source file is dl-fini.c
Compilation directory is /build/glibc-bfm8X4/glibc-2.23/elf
Located in /build/glibc-bfm8X4/glibc-2.23/elf/dl-fini.c
Source language is c.
Producer is GNU C11 5.4.0 20160609 -mno-mmx -mtune=generic -march=x86-64 -g -O2 -O3 -std=gnu11 -fgnu89-inline -fno-stack-protector -fmerge-all-constants -frounding-math -fPIC -ftls-model=initial-exec.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
我找不到指定的编译目录和源文件的位置。
目录 /build/glibc-bfm8X4/glibc-2.23/elf 不存在。有人知道这种情况吗?
【问题讨论】:
标签: linux ubuntu debugging gdb glibc