Как я объяснил в комментарии, один из способов отладки - это поставить точку останова на Application.Run
в вашем файле .Dpr.
Если окно cmd открывается до срабатывания точки останова, окно cmd, скорее всего, открывается в коде инициализации одного из ваших модулей, который будет легко отладить. Вы можете сделать это, выполнив шаги из моего ответа на this q .
Если вы проверите значение переменной Count
в InitUnits
в System.Pas, вы можетеУдивлен, насколько он высокий, часто более 200. Однако вы можете использовать двоичный поиск, чтобы быстро идентифицировать виновную единицу, поставив точку останова на строке
TProc(P)();
и первоначально установив счетчик проходов в count / 2После того как вы определили рассматриваемый модуль, вы можете использовать команду отладчика Trace into
(F7), чтобы определить код, который запускает окно Cmd, если это не очевидно из проверки кода инициализации модуля.