[11:26:19] <landgraf> есть тут мастера gdb?
[15:08:55] <yeo> подмастерья, а какой вопрос?
[17:01:47] <landgraf> yeo, как "программно" поставить HW watchpoint на элемент структуры сишной?
[17:13:49] <yeo> я делаю так, ставлю обычный bp туда, где есть доступ к структуре
[17:14:12] <yeo> когда он срабатывает беру адрес элемента структуры
[17:14:23] <yeo> а потом ставлю watch на этот адрес
[17:14:58] <yeo> наверняка, можно проще
[17:20:49] <landgraf> yeo, ну там можно, только у меня обычный bp срабатывает около сотни раз
[17:21:05] <landgraf> yeo, и там еще таймер до кучи, то есть не всегда можно поймать
[17:21:24] <yeo> ну он нужен только первый раз, потом его удалить или запретить
[17:21:46] <landgraf> не, это же другой инстанс
[17:21:49] <landgraf> другого треда
[17:22:03] <yeo> можно еще скрипт ставить на выполнение bp
[17:22:40] <landgraf> yeo, вроде можно сделать watch -l (fctx->element) но у меня не взлетает
[17:23:52] <landgraf> A syntax error in expression, near `{...} *) 0x00007fffe78b8280'.
[17:25:04] <landgraf> (gdb) watch -l *(int *)(fctx->fwdpolicy)
[17:25:09] <landgraf> о, это оно ?
[17:25:31] <landgraf> нет, непооже :(
[17:26:55] <yeo> поэтому я и беру адрес
[17:27:14] <landgraf> ну для этого надо ручками тыкать, надо автоматизировать
[17:27:21] <landgraf> python-ить придется, похоже
[17:27:29] <yeo> watch *0x123456
[17:28:27] <landgraf> это я знаю
[17:28:55] <landgraf> но адрес ты узнаешь только когда структура будет создана, так ведь?
[17:29:33] <landgraf> можно еще watch *$<number>
[17:29:44] <landgraf> чтобы не копипастить адреса, но тоже так себе решение
[17:30:09] <landgraf> yeo, я хотел что-то такое https://paste.fedoraproject.org/paste/hrjE96VhTuoMwMDnmkaXlA
[17:30:24] <landgraf> но чтобы хардварный вочпоинт был
[20:18:53] <yeo> (gdb) show can-use-hw-watchpoints
Debugger's willingness to use watchpoint hardware is 1.

[20:19:37] <yeo> он типа сам выбирает использовать ему железный воч или нет