LINUX.ORG.RU

Получить корку зависнувшего приложения


0

0

Проблема
========
Ява пользуется разделяемой библиотекой. Её код у меня имеется.
Приложение работает на недоступной мне машине. Там оно входит
в бесконечное ожидание непонятно чего, предположительно
в библиотеке (выдаётся явский дамп при убийстве приложения,
в котором стек раскручивается, начиная с этой библиотеки).
gdb воспользоваться не могу из-за недоступности тачки,
а пользователь той тачки в этом ничего не рубит.
На моей тачке проблема не воспроизводится.

Платформа
=========
1. RedHat 7.3 с пакетами из стандартной поставки, обновлялось
только ядро и некоторые сервисы.
2. SuSE 8.2 со всеми пакетами их коробки.
3. Java: j2sdk1.4.1

Мои попытки
===========
Убийство всякими разными сигналами корку не даёт: ява все сигналы
перехватывает и выдает свой дамп либо тихо завершается.
Думал воспользоваться /proc/<proc-id>/mem -- не получилось.

Цель
====
Получить корку, чтобы исследовать проблему на моей машине.
В гугле поискал, ничего для линукса не нашёл. Зато для сана
нашёл gcore (get core). Он и делает то, что нужно, но не там, где
нужно.
В общем, итоговый вопрос: как в линуксе получить корку работающего
приложения? (Его не обязательно сохранять работающим.)
Повторяю, gdb воспользоваться для отладки не могу.
Но, может быть, gdb может сам сохранить корку? И тогда я смогу
написать скрипт для gdb. Я этого в его info не нашёл.

Не надо ответа.
Оказалось, в gdb есть команда gcore.

sergio_nsk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.