GDB в Solaris:/proc/168: слишком большое значение для определенного типа данных

У меня есть приложение C, работающее на Solaris SPARC 8, которое обрабатывает сообщение с 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?

Любые рекомендации или помощь были бы весьма признательны ;-)

Линтон

1
мммм ..... должно быть, что GDB, возможно, скомпилирован в 32-битном режиме, потребуется перекомпилировать его в режиме 64 бит ...
добавлено автор Lynton Grice, источник

1 ответы

GDB, возможно, скомпилирован в 32-разрядном режиме

Ваш GDB определенно построен в 32-битном режиме. Если бы он был построен в 64-битном режиме, он сказал бы spacv9-sun-solaris ... .

Восстановление в 64-битном режиме, скорее всего, решит проблему.

1
добавлено