A menudo, accidentalmente paso al código que no me interesa mientras se depura Delphi.En Delphi: cómo omitir secciones de código durante la depuración?
Comencemos diciendo que sé que puede pasar por encima de F8, y que puede ejecutar cierta línea con f4.
Ejemplo:
function TMyClass.DoStuff():Integer;
begin
// do some stuff
bla();
end;
procedure TMyClass.Foo()
begin
if DoStuff()=0 then // press F7 when entering this line
beep;
end;
Ejemplo: Quiero entrar en método DoStuff() pulsando F7, pero en vez de ir allí, primero terminar en FastMM4.FastGetMem(), que es una mancha enorme del código de ensamblaje que obviamente no estoy interesado en este momento.
Hay varias maneras de hacer esto, y no me gusta ninguno de ellos:
Añadir un punto de interrupción en " bla" (casi inútil si sólo desea entrar en DoStuff en ocasiones especiales, como la iteración 23498938);
En lugar de pulsar F7, mover manualmente el cursor a " bla", y pulse F4 (Obras de este ejemplo sencillo En la práctica, no.);
En caso de FastMM: desactivar temporalmente fastmm;
¿Hay alguna manera de insinuar el IDE que estoy Nunca interesados en entrar en un determinado bloque de código, o qué siempre tienen que establecer puntos de interrupción adicionales o utilizar F4 para tratar de evitar esto?
Espero alguna directiva mágica de compilación como {$ NODEBUG BEGIN/END} o algo así.
En la mayoría de los casos, poder excluir unidades enteras sería lo suficientemente fino para mí, pero ser capaz de evitar ciertos métodos o incluso líneas de código sería aún mejor.
Actualización: Tal vez codegear debería introducir algo así como skip- puntos (a diferencia de puntos de ruptura) :-)
¡Excelente! Funciona exactamente de la manera que yo quiero: el depurador ya no interviene más en él, al tiempo que obtiene la finalización del código y puede ver y modificar el código "depurar-deshabilitar" si quiero. –
En cuanto a FastMM4: el informe de fugas aún funciona, siempre que no tenga {$ define RequireDebugInfoForLeakReporting}, que no está definido de manera predeterminada. –
Usted señor, en lo que a mí respecta, he ganado Internet hoy. Funcionó maravillosamente. Muchas muchas gracias. – Alan