Pergunta

Às vezes, quando defino um ponto de interrupção e começo a depurar suas mudanças de cor de vermelho para azeitona:

yellow bullet

Quando isso acontece, a depuração não pára - o ponto de interrupção é ignorado.

Quero saber por que isso acontece e como evitá -lo no futuro.

Editar:

Isso não acontece apenas quando o ponto de interrupção é definido na linha de código comentada:

not commented olive bullet

Foi útil?

Solução

É de código aberto. Download e encontrar o código relevante levou cerca de 5 minutos:

   public void DrawBreakpoint(Graphics g, int y, bool isEnabled, bool isHealthy)
    {
        int diameter = Math.Min(iconBarWidth - 2, textArea.TextView.FontHeight);
        Rectangle rect = new Rectangle(1,
                                       y + (textArea.TextView.FontHeight -
                                                           diameter) / 2,
                                       diameter,
                                       diameter);


        using (GraphicsPath path = new GraphicsPath()) {
            path.AddEllipse(rect);
            using (PathGradientBrush pthGrBrush = new PathGradientBrush(path)) {
                pthGrBrush.CenterPoint = new PointF(rect.Left + rect.Width / 3 , 
                                            rect.Top + rect.Height / 3);
                pthGrBrush.CenterColor = Color.MistyRose;
                Color[] colors = {isHealthy ? Color.Firebrick : Color.Olive};
                pthGrBrush.SurroundColors = colors;

                if (isEnabled) {
                    g.FillEllipse(pthGrBrush, rect);
                } else {
                    g.FillEllipse(SystemBrushes.Control, rect);
                    using (Pen pen = new Pen(pthGrBrush)) {
                        g.DrawEllipse(pen, new Rectangle(rect.X + 1, rect.Y + 1, 
                                                         rect.Width - 2, 
                                                         rect.Height - 2));
                    }
                }
            }
        }
    }

Essa cor circular é "cor.olive". Se você quer saber por que isHealthy é falso, use a fonte. Há algumas razões pelas quais pude encontrar rapidamente: o arquivo de origem mudou ou o módulo não está carregado, pode haver mais.

Outras dicas

Isso ocorre se você compilar a programação como "versão".

Sua linha é comentada onde o ponto de interrupção está definido.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top