Re: GCC и дебаг в проприетарном ПО
От: pzhy  
Дата: 01.02.13 15:49
Оценка:
Здравствуйте, begemoti, Вы писали:

B>Добрый день!


B>Никак не вижу решения своей задачи.

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

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


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


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


B>Или у GCC есть что-то стандартное для этих целей ?


А чем корка не устраивает? Делаешь при релизе — с и без -g, Клиенту отдаешь без -g. Берешь корку себе — и загружаешь ее в гдб для версии с -g. Или дело в шифровании? С этим не работал, а это каким образом достигается?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.