Что означает оливковый маркер в точке останова в SharpDevelop
-
18-09-2019 - |
Вопрос
Иногда, когда я устанавливаю точку останова и начинаю отладку, ее цвет меняется с красного на оливковый:
Когда это происходит, отладка вообще не прекращается - точка останова игнорируется.
Я хочу знать, почему это происходит и как избежать этого в будущем.
Редактировать:
Это происходит не только тогда, когда в закомментированной строке кода установлена точка останова:
Решение
Это открытый исходный код.Загрузка его и поиск соответствующего кода заняли у меня около 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.Оливковый".Если вы хотите знать, почему isHealthy
является ложным, используйте исходный код.Есть пара причин, которые я мог бы быстро найти:исходный файл изменился или модуль не загружен, возможно, их больше.
Другие советы
Это происходит, если вы компилируете программу как "release".
Ваша строка закомментирована там, где установлена точка останова.