Вы можете заставить GDB останавливаться при каждом системном вызове write
с помощью catch syscall write
.
Поскольку write
работает с файловыми дескрипторами, а не с именованными файлами, вы не можете сделать эту точку останова условнойна имя;вам нужно сначала найти файловый дескриптор, который соответствует вашему «интересному» файлу.
В Linux вы можете посмотреть на ls -l /proc/<pid>/fd/*
, чтобы связать файловые дескрипторы с именами.
Другоесистемы могут иметь lsof
или другие специфичные для системы механизмы для выполнения того же.
Получив дескриптор файла, вы можете сделать условное выражение catch
(поэтому GDB останавливается только при записи этого конкретного файла).).Точные детали того, как это сделать, различаются в разных операционных системах и процессорах, и вы тоже не предоставили.