gdb, установить точку останова для всех функций в файле

Есть ли в gdb одна команда, которая может устанавливать точки останова для всех функций в данном файле? Я знаю о регулярном выражении rbreak, которое устанавливает точки останова в соответствующих функциях регулярного выражения, но в моем файле нет фиксированных шаблонных функций.

По-другому, есть ли команда, с помощью которой я могу установить точку останова на имени файла. Что будет означать, что всякий раз, когда элемент управления попадает внутрь этого файла, он должен сломаться?

Я лично думаю, что это не должно быть очень сложно реализовать в gdb, но мне просто интересно, сделал ли кто-нибудь это уже сейчас.


person Smash    schedule 25.09.2009    source источник


Ответы (2)


(gdb) rbreak file:.

из http://sourceware.org/gdb/download/onlinedocs/gdb/Set-Breaks.html#Set-Breaks

person Shaun Lebron    schedule 09.11.2011
comment
Это не работает, и не ожидается, что это сработает: stackoverflow.com/questions/9096624/ - person Employed Russian; 01.02.2012
comment
Найдите файл rbreak: regex на странице, на которую я указал. Я подтвердил, что это работает на моих собственных примерах. - person Shaun Lebron; 10.02.2012

(gdb) set height 0
(gdb) rbreak file.cpp:.*

у меня сработало нормально.

В моем случае было полезно немного уменьшить набор результатов, указав аргумент шаблона для функций, содержащихся в файле:

(gdb) rbreak file.cpp:.*TemplateClass.*
person gnod    schedule 11.03.2014