GCC и дебаг в проприетарном ПО
От: begemoti  
Дата: 01.02.13 12:23
Оценка:
Добрый день!

Никак не вижу решения своей задачи.
Есть софт на C, он компилится и в зашифрованном виде работает у клиента на сервере.
Иногда софт падает и зачастую эти ситуации возникают редко и в особых условиях.
Тогда нужно отдебажить софт на сервере клиента, естественно исходники туда нести нельзя.

gcc -g использовать нежелательно, но даже с ним gdbserver + gdb на локальной машине помогает не всегда. Что уж говорить о core — он даёт ещё меньше информации.

Самый топорный и надёжный способ поиска проблемы в коде, это поиск строки после которой исполнение кода прекращается.

ВОПРОС: каким инструментом добавить в C код в каждую строку метку "такая-то строка исполнилась". Чтобы таким образом записать во внутреннюю структуру с очередью последние N номеров строк, которая и будет сбрасываться в файл debug.log в момент SIGSERV.

Или у GCC есть что-то стандартное для этих целей ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.