автоматическая отладка с помощью gdb - PullRequest
1 голос
/ 28 сентября 2019

Я имею дело с большой кодовой базой с тоннами глобалов.При некотором специфическом наборе данных это дает неправильный результат.Я хотел автоматически запустить несколько сценариев с GDB в автоматическом пошаговом выполнении и периодическом сбрасывании некоторых значений и записи трассировки в некоторый файл.Выполнение этого вручную разрушит мой взгляд и мой мозг.Я предполагаю, что есть некоторые глобальные ошибки.Как это сделать автоматически?Используйте некоторые сценарии.Все это в RH Linux.Заранее спасибо.

пытался сделать это вручную с помощью условных разрывов, но через некоторое время сдался

1 Ответ

1 голос
/ 28 сентября 2019

Я хотел автоматически запустить несколько сценариев с GDB в автоматическом пошаговом выполнении и периодическом сбрасывании некоторых значений и записи трассировки в некоторый файл.

Это может быть значительноболее эффективно запускать программу в обратном отладчике (например, rr ) и отследить неверный результат до его источника.

Как сделать это автоматически?

Вы не можете делать автоматически то, что не можете выразить как алгоритм, и вы не описали алгоритм, который хотите использовать.Если это что-то вроде «остановка каждые 100 раз», вызывается foo и выводит значения этих 500 глобалов », то это легко автоматизировать с помощью GDB.

Более сложные алгоритмы возможны с использованием встроенного Python.

...