Есть ли способ сделать перехват во время отладки в gdb & gdbserver? - PullRequest
1 голос
/ 07 марта 2019

Существует огромный проект (под Linux), который состоит из десятков исполняемых файлов. В основном все они написаны на C ++. Проект спроектирован таким образом, что функция main и цикл обработки событий более или менее похожи во всех этих исполняемых файлах. И одна из деталей этого цикла обработки заключается в том, что в нем происходит проверка существования определенного файла. Если этот файл существует, основной рабочий код пропускается, а функция sleep вызывается просто. Таким образом, я могу «приостановить» все исполняемые файлы в проекте, создав этот файл, и «возобновить» их, удалив этот файл, хотя их выполнение не будет фактически прервано в физическом смысле. Это удобная функция, когда мне нужно выполнить некоторые задачи отладки.

Теперь вопрос: есть ли способ автоматически создать этот файл паузы, когда выполнение некоторых программ проекта прерывается точкой останова, установленной gdb, и удалять его, когда выполнение продолжается? Отладка выполняется с помощью gdbserver (удаленно).

...