核心文件问题

发布于 2024-08-21 04:46:52 字数 1707 浏览 8 评论 0原文

关于 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

诗化ㄋ丶相逢 2024-08-28 04:46:52

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.

亚希 2024-08-28 04:46:52

正确的堆栈将有助于找出可能导致崩溃的原因。假设该核心是在 Solaris 平台上生成的,并且您正在分析在不同系统上生成的核心。

在这种情况下,最好从生成核心的环境中收集所有依赖库。将它们提取到本地,并使用 dbx 中的 pathmap 子命令映射本地目录。

例如,如果 /home/app/lib 下的失败环境中存在一个库,并且分析核心的本地环境位于 /home/user/app/lib 下
(dbx) pathmap /home/app/lib /home/user/app/lib

如果有多个这样的路径,则需要将所有目录映射到各自的本地目录。映射所有路径后,您可以运行以下命令

(dbx) debug executable-name corefile-name

或者您也可以

  • 尝试mdb debugger pstack 命令。
  • 在核心文件上

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

(dbx) debug executable-name corefile-name

Alternatively you can also try

  • mdb debugger
  • pstack command on the core file.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文