Delphi ntdll.dbgbreakpointС недавнего времени почему-то при запуске приложения стало постоянно открываться окно CPU и первая точка остановки ntdll.dbgbreakpoint. Непредвиденные точки останова повторяются часто и необходимо вручную продолжать выполнение. Это говорит о каких-то неполадках или отсутствии информации для отладки в приложении.

Однако, в приложении ровным счетом ничего не изменилось, настройки Delphi не менялись. Откуда же тогда неизвестная информация? Как вернуться к нормальной работе?

Выяснить, что явилось причиной поможет Event Log. Смотрим загружаемые модули и среди них находим ранее невиданный (в моем случае это был verifier.dll).
Причиной такого поведения может быть как раз этот неизвестный модуль — это может быть как часть другого приложения, так и червь.

В моем случае причиной стал . Он предназначен для проверки приложений с неуправляемым кодом. После настройки при запуске встраивается в процесс для проведения установленных проверок.

После исключения разрабатываемого приложения из под наблюдения Application Verifier всё вернулось на свои места.

В Delphi 2007 и выше появилась опция "Don't stop on non-user breakpoints", которая позволяет пропускать такие точки останова.

Альтернативный вариант — использовать .

Также пара вариантов патчей встречается на .

Источник: , получено с помощью



Источник: