Tengo una función que se llama una gran cantidad de veces y, finalmente, segfaults.
Sin embargo, no quiero establecer un punto de interrupción en esta función y detenerme cada vez que se llama, porque estaré aquí durante años.
Escuché que puedo establecer un counteren GDB para un punto de interrupción, y cada vez que se alcanza el punto de interrupción, el contador disminuye y solo se activa cuando counter= 0.
¿Es esto exacto y, de ser así, cómo lo hago? Proporcione el código gdb para establecer dicho punto de interrupción.
                    
                        gdb
                                breakpoints
                                
                    
                    
                        Tony Stark
fuente
                
                fuente

Respuestas:
Lea la sección 5.1.6 del manual de GDB. Lo que debe hacer primero es establecer un punto de interrupción, luego establecer un 'recuento de ignorar' para ese número de punto de interrupción, por ejemplo
ignore 23 1000.Si no sabe cuántas veces debe ignorar el punto de interrupción y no desea contar manualmente, lo siguiente puede ayudar:
fuente
continue <n>Este es un método conveniente que omite los
n - 1tiempos de interrupción del último hit (y por lo tanto se detiene en el n-ésimo hit):C Principal
Uso:
Sesión del BGF:
fuente