GDB прерывается, когда программа открывает определенный файл

Предыстория: при запуске программы под strace я заметил, что '/ dev / urandom ' open ' ed. Я хотел бы знать, откуда исходит этот вызов (это не часть самой программы, это часть системы).

Итак, используя gdb, я пытаюсь прервать (используя catch syscall open ) выполнение программы, когда выполняется вызов open , поэтому я могу увидеть обратную трассировку. Проблема в том, что open вызывается alot , например, несколько сотен раз, поэтому я не могу сузить конкретный вызов, открывающий / dev / urandom. Как мне сузить конкретный вызов? Есть ли способ фильтрации по аргументам, и если да, то как это сделать для системного вызова?

Любой совет был бы полезен - может, я ошибаюсь.

20
задан Michael Mrozek 30 May 2014 в 18:47
поделиться