【问题标题】:GDB on Solaris: /proc/168: Value too large for defined data typeSolaris 上的 GDB:/proc/168:值对于定义的数据类型来说太大
【发布时间】:2011-10-28 09:28:15
【问题描述】:

我有一个在 Solaris SPARC 8 上运行的 C 应用程序,它处理来自 Websphere MQ 的消息并将它们发送到目标应用程序。

应用程序在 Solaris 10 和 Linux 100% 上运行不变......没有问题......

在这个特定的盒子上,它似乎运行了 4000 条或更多消息,而在 AD HOC 的基础上,它只是“挂起”......

所以我们安装了 GDB,因为我希望附加到正在运行的进程,所以当我运行类似的东西时:

gdb ./idoclink_inbound --pid=168 -tui 我得到以下输出:

exec No process In:                                          Line: ??   PC: 0x0
and "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.8"...
Attaching to program `/opt/smq/idoclink/bin/idoclink_inbound', process 168
/proc/168: Value too large for defined data type.
do_attach: couldn't save traced faults.
(gdb) backtrace
No stack.
(gdb)

我真的需要尝试找出这个过程在做什么,你知道这个问题可能是什么吗?

这似乎是一个 GDB 错误?

任何建议或帮助将不胜感激;-)

林顿

【问题讨论】:

  • mmmm.....肯定是GDB可能编译成32位模式,需要重新编译成64位模式...

标签: c gdb solaris


【解决方案1】:

GDB 可能编译为 32 位模式

您的 GDB绝对是在 32 位模式下构建的。如果它是在 64 位模式下构建的,它会说 spacv9-sun-solaris...

在 64 位模式下重建可能会解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-21
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    相关资源
    最近更新 更多