核心文件问题
关于 dbx 调试器调试的核心文件的任何想法。我不明白为什么生成这个核心文件。请帮我解决这个问题
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.6' in your .dbxrc
Reading mhost.new
core file header read successfully
Reading ld.so.1
Reading librt.so.1
Reading libclntsh.so.9.0
Reading libm.so.2
Reading libnsl.so.1
Reading libsocket.so.1
Reading libgen.so.1
Reading libdl.so.1
Reading libthread.so.1
Reading libc.so.1
Reading libaio.so.1
Reading libmd.so.1
Reading libwtc9.so
Reading libsched.so.1
Reading libc_psr.so.1
WARNING!!
A loadobject was found with an unexpected checksum value.
See `help core mismatch' for details, and run `proc -map'
to see what checksum values were expected and found.
dbx: warning: Some symbolic information might be incorrect.
t@1 (l@1) program terminated by signal SEGV (no mapping at the fault address)
0xff3be704: elf_find_sym+0x0114: ldsb [%l0 + %l4], %o2
(dbx) where
current thread: t@1
=>[1] elf_find_sym(0xffbfbbd8, 0xffbfbc68, 0xffbfbc64, 0xf194, 0xfe5986d2, 0xff3f0358), at 0xff3be704
[2] _lookup_sym(0xff3f7360, 0xffbfbbd8, 0xffbfbc68, 0xffbfbc64, 0x0, 0xff3f0358), at 0xff3bbb7c
[3] lookup_sym(0xffbfbc6c, 0xffbfbc68, 0xffbfbc64, 0xff3f7360, 0x1, 0xfe5986d2), at 0xff3bbe6c
[4] elf_bndr(0x84d, 0xff391d38, 0xfe5c2124, 0xfe5986d2, 0xff3f42f0, 0x0), at 0xff3d207c
[5] elf_rtbndr(0xfe5c2124, 0xfe6c3800, 0x1c00, 0x0, 0x0, 0x0), at 0xff3b84fc
[6] 0xfe6bf3c4(0x0, 0x1cc4, 0xfe6c3800, 0xfe6c5180, 0xff352a00, 0x1c00), at 0xfe6bf3c4
[7] _exithandle(0xfe6c5400, 0xfe6c3800, 0x1c00, 0x0, 0x0, 0x0), at 0xfe5c2124
[8] exit(0x0, 0xffbfbe4c, 0xffbfbeb4, 0x139800, 0xff350100, 0x0), at 0xfe5b0550
Any idea about the core file debugged by dbx debugger. I am not getting why this core file is generated. Please help me on this
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.6' in your .dbxrc
Reading mhost.new
core file header read successfully
Reading ld.so.1
Reading librt.so.1
Reading libclntsh.so.9.0
Reading libm.so.2
Reading libnsl.so.1
Reading libsocket.so.1
Reading libgen.so.1
Reading libdl.so.1
Reading libthread.so.1
Reading libc.so.1
Reading libaio.so.1
Reading libmd.so.1
Reading libwtc9.so
Reading libsched.so.1
Reading libc_psr.so.1
WARNING!!
A loadobject was found with an unexpected checksum value.
See `help core mismatch' for details, and run `proc -map'
to see what checksum values were expected and found.
dbx: warning: Some symbolic information might be incorrect.
t@1 (l@1) program terminated by signal SEGV (no mapping at the fault address)
0xff3be704: elf_find_sym+0x0114: ldsb [%l0 + %l4], %o2
(dbx) where
current thread: t@1
=>[1] elf_find_sym(0xffbfbbd8, 0xffbfbc68, 0xffbfbc64, 0xf194, 0xfe5986d2, 0xff3f0358), at 0xff3be704
[2] _lookup_sym(0xff3f7360, 0xffbfbbd8, 0xffbfbc68, 0xffbfbc64, 0x0, 0xff3f0358), at 0xff3bbb7c
[3] lookup_sym(0xffbfbc6c, 0xffbfbc68, 0xffbfbc64, 0xff3f7360, 0x1, 0xfe5986d2), at 0xff3bbe6c
[4] elf_bndr(0x84d, 0xff391d38, 0xfe5c2124, 0xfe5986d2, 0xff3f42f0, 0x0), at 0xff3d207c
[5] elf_rtbndr(0xfe5c2124, 0xfe6c3800, 0x1c00, 0x0, 0x0, 0x0), at 0xff3b84fc
[6] 0xfe6bf3c4(0x0, 0x1cc4, 0xfe6c3800, 0xfe6c5180, 0xff352a00, 0x1c00), at 0xfe6bf3c4
[7] _exithandle(0xfe6c5400, 0xfe6c3800, 0x1c00, 0x0, 0x0, 0x0), at 0xfe5c2124
[8] exit(0x0, 0xffbfbe4c, 0xffbfbeb4, 0x139800, 0xff350100, 0x0), at 0xfe5b0550
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SEGV
表示对未定义内存的访问。它发生在 elf_find_sym 中。如果包含调试符号,则转储将指示行号。使用 gcc -g... 包含调试符号和行号信息。
SEGV
indicates an access to undefined memory. It occurred in elf_find_sym. If debug symbols were included, then the dump would indicate the line number.Use
gcc -g
<files>... to include debug symbol and line number information.正确的堆栈将有助于找出可能导致崩溃的原因。假设该核心是在 Solaris 平台上生成的,并且您正在分析在不同系统上生成的核心。
在这种情况下,最好从生成核心的环境中收集所有依赖库。将它们提取到本地,并使用 dbx 中的 pathmap 子命令映射本地目录。
例如,如果 /home/app/lib 下的失败环境中存在一个库,并且分析核心的本地环境位于 /home/user/app/lib 下
(dbx) pathmap /home/app/lib /home/user/app/lib
如果有多个这样的路径,则需要将所有目录映射到各自的本地目录。映射所有路径后,您可以运行以下命令
或者您也可以
A proper stack would help in finding out what might have caused the crash. Assuming this core is generated on Solaris platform and you are analyzing a core generated on a different system.
In that case it would be good to collect all the dependent libraries from the environment where the core is generated. Extract them locally, and map the local directories using the pathmap subcommand in dbx.
for example, if a library is present in the failing environment under /home/app/lib and on the local environment where core is analyzed is under /home/user/app/lib
(dbx) pathmap /home/app/lib /home/user/app/lib
If there are multiple such paths, then all the directories need to be mapped to the respective local directories. Once all the paths are mapped, you can run the following
Alternatively you can also try