Dica de depuracao com breakpoint contadores

Ontem tive que depurar uma parte do codigo que nao era minha, mas que estava me bloqueando.

Era uma parte chata, numa classe-base de vaaarias classes. Era mais ou menos assim:

OnSomething(); // definido na classe derivada
ASSERT(SomethingElse(), “Esta classe precisa chamar __super::OnSomething()!”);

O problema era que quando o assert era disparado, ja era tarde demais! Eu estava na classe base e nao tinha como saber em qual instancia eu estava.

Pra resolver o problema, coloquei um breakpoint condicional com uma contagem de 100.000 (tanto faz o numero, desde que seja alto) na primeira linha e rodei. Assim que voou, anotei o numero (380). Mudei o contador pra 380 e rodei de novo.

Bingo! Parei antes de dar a craca! F11 (Step into) e pronto, descobri o metodo bugado!

Imagina se eu tivesse que contar na mao, a trabalheira que seria? 380 vezes?! Com certeza eu ia perder a conta!

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>