Что означает оливковая пуля на точке останова в SharpDevelop - PullRequest
2 голосов
/ 09 марта 2010

Иногда, когда я устанавливаю точку останова и начинаю отладку, ее цвет меняется с красного на оливковый:

yellow bullet

Когда это происходит, отладка вообще не останавливается - точка останова игнорируется.

Я хочу знать, почему это происходит и как этого избежать в будущем.

Edit:

Это не происходит, только когда точка останова установлена ​​на закомментированной строке кода:

not commented olive bullet

Ответы [ 3 ]

3 голосов
/ 09 марта 2010

Это открытый исходный код. Загрузка и поиск соответствующего кода заняли у меня около 5 минут:

   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));
                    }
                }
            }
        }
    }

Этот цвет круга - "Color.Olive". Если вы хотите узнать, почему isHealthy неверно, используйте источник. Я мог быстро найти несколько причин: исходный файл изменился или модуль не загружен

2 голосов
/ 02 октября 2013

Это происходит, если вы компилируете программу как "release".

1 голос
/ 09 марта 2010

Ваша строка комментируется там, где установлена ​​точка останова.

...