Не работают точки останова delphi

Не работают точки останова delphi

Не работают точки останова на всех проектах, переустановка Delphi не помогло

← →
Spok ( 2010-07-22 08:55 ) [1]

← →
И. Павел © ( 2010-07-22 09:11 ) [2]

1. Можкет быть в опциях снята галочка с Debug information?
2. Может быть вы ставите точку на строке, которую пропустил оптимизатор, или на недопустимой: например в разделе var?

← →
Дмитрий С © ( 2010-07-22 09:13 ) [3]


> 1. Можкет быть в опциях снята галочка с Debug information?
>

А это влияет? 🙂

← →
И. Павел © ( 2010-07-22 09:20 ) [4]

Создай новый проект, если и на нём не будет точек, то, думаю, проблема с дебаггером BORdbk70.dll и иже. Как править — без понятия.

← →
stas © ( 2010-07-22 11:17 ) [6]

ни в одном проекте или в определенном проекте?

← →
Дмитрий С © ( 2010-07-22 11:20 ) [7]


> И. Павел © (22.07.10 09:20) [4]
> > А это влияет? 🙂
> Да.

Насколько я знаю эта информация нужна для внешних отладчиков. По крайней мере у меня дельфи останавливается на точках и с выключенной этой опцией.

← →
stas © ( 2010-07-22 11:32 ) [8]

>Дмитрий С © (22.07.10 11:20) [7]
У меня — нет

← →
RWolf © ( 2010-07-22 11:38 ) [9]

В настройках дебаггера должна быть установлена галка Stop on Delphi exceptions.

> По крайней мере у меня дельфи останавливается на точках
> и с выключенной этой опцией.

Значит осталась старая отладочная информация. Сделайте Build проекта и точки останова станут недоступными.

← →
RWolf © ( 2010-07-22 11:38 ) [11]

хотя вру, к точкам это не относится.

← →
Dimka Maslov © ( 2010-07-22 12:05 ) [12]

← →
Spot ( 2010-07-29 08:33 ) [13]

Спасибо, И. Павел ©
в Debug information галочка не стояло, пробовал ставить не влияет,
сделал Build точки заработали

← →
Spot ( 2010-07-29 08:37 ) [14]

Источник

Не работают точки останова 64х Rad Studio 10.1

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Atmel Studio 7 — не работают точки останова
Добрый день. При отладке программы, точки останова устанавливаются (Atmel Studio 7), но при запуске.

Не работают точки останова
народ, проблема такова: не работают точки останова в той области текста программы где они должны.

Не работают точки останова
Здравствуйте, столкнулся с такой проблемой, что непонятно с чего вдруг перестали работать точки.

на чистом проекте как видите все работает

можете попробовать создать новый проект и просто добавить туда все ваши файлы по очереди

Решение

Да, это включено.

Добавлено через 6 часов 9 минут
Ура! Все заработало! На одном из форумов посоветовали попробовать выключить все сетевые адаптеры. Вырубил. Перезагрузился. Дебаггер работает. Сетевуху врубил, и все продолжает работать. Не знаю почему, но подействовало. Тестирование проводил на пустом проекте, сделанном заново. С момента возникновения проблемы прошло 3 недели. Алиллуйя!

Не работают точки останова
Делаю сайт на SilverLight почти всю работу сделал оставалось сделать пару моментов и тут вдруг при.

Не работают точки останова
Платформа 1С:Предприятие 8.3 (8.3.4.482) Конфигурация Управление торговлей, редакция 11.1.

Не работают точки останова
Работаю с ВПФ, в файловом режиме. Игнорируются точки останова, вообще. В гугле рассказывают про.

Отладка програм на Silverlight, не работают точки останова
Не работают точки останова если отладка идет в браузере. Ставил отладку в не браузера, так точки.

Источник

Не работают точки останова delphi

да нет подключал я вчера один модуль но он скопирован в папку с проектом
сейчас проверю тщательно все а вдруг по невниманию там их много.

Читайте также:  Почему не работает steelseries engine

решено таким образом:
В Project Meneger пункт Build Confugurations есть две конфигурации Release и Debug по умолчанию, так в меня била активная Release я смею заметить что в опциях проекта я менял ето но активная (выделенная жирным шрифтом) оставалась Release. (точно пробовал и на других проектах)

Надо в контекстном меню конфигурации Debug выбрать пункт Activate, а потом сделать Build всего проекта и все заработает.

Я не доконца понимаю почему так.
Спасиба очень высем за внимания и ответы.

Я не доконца понимаю почему так.
Я не доконца понимаю почему так.

Что конкретно не понятно?

То, что вы выбирали профиль, а он не переключался? Ну так вы же выбирали в настройках — это настраивается профиль. Там же нигде не сказано, что вы выбираете активный профиль. Вы можете открыть окно настроек и настроить два профиля, переключая из. А активный профиль же указывается в менеджере проектов.

То, что заработало при профиле Debug, а не Release? Ну так наверное у вас в профиле Release отключены отладочные опции, а в профиле Debug они включены.

То, что понадобился Build? Это потому, что Compile пересобирает только те модули, исходный код которых изменился с прошлой сборки, а Build пересобирает всё. Несложно сообразить, что при изменении опций проекта исходный код не меняется, поэтому Compile просто ничего не делает. А чтобы изменения вступили в силу надо делать полную пересборку через Build.

Источник

Delphi: почему точки прерывания время от времени не используются (зеленая линия выделена на IDE)?

Время от времени я теряю функциональность точки останова в Delphi.

Я думал, что это проблема Delphi 2009, но теперь у меня есть и в Delphi XE.

В Delphi 2009, удалив файл .dproj, я снова запустил точки останова.

В Delphi XE я не могу сделать breakopints. У меня есть обновление 1 со всеми исправлениями.

У кого-нибудь есть решение?

У меня была связанная с этим проблема: я потерял точки останова в определенном файле, но другие файлы были в порядке. Случилось так, что я переименовал этот файл, но мне неизвестно, что DCU для старого файла все еще используется, потому что он упоминается в предложении «uses» где-то.

Решение состоит в том, чтобы вручную удалить все DCU (сделать «чистый» недостаточно, потому что старый файл, представленный DCU, больше не находится в проекте) и перестроить. Вы получите ошибку компиляции, показывающую плохие предложения «uses».

Отладочная информация отсутствует в файле.

Убедитесь, что вы используете конфигурацию Debug. ( Project Manager дерево, разверните Build Configurations , убедитесь, что Debug выделен полужирным шрифтом. Если это не так, щелкните правой кнопкой мыши Debug и выберите Activate в контекстном меню.) Убедитесь, что затем выполните /strong > вашего проекта, а не только Компилировать.

Если это все еще не работает, перейдите в Project->Options из главного меню IDE, нажмите Compiling в разделе Delphi Compiler и проверьте раздел Debugging в правой половине окна. Убедитесь, что отмечены Debug Information и Local Symbols . Если вы пытаетесь проследить в собственном источнике VCL, также проверьте Use debug .dcus (вы захотите отключить это и выполнить полную сборку своего проекта, как только вы закончите, так как это раздражает, повторная отладка обычно). Опять же, вы захотите построить и не скомпилировать.

Если все вышеперечисленное не удается, другая возможность заключается в том, что модуль кода, который вы открыли в Редакторе кода, не является тем же, что и компилятор. Убедитесь, что у вас нет нескольких копий файла на вашем компьютере в месте, которое может найти первый компилятор. Если вы не уверены, удалите файлы .dcu с этим именем устройства, а затем выполните сборку своего проекта и посмотрите, находится ли вновь созданный .dcu в месте, которое вы ожидаете.

Читайте также:  Не работает кофеварка bosch tes 71621 rw

Я нашел лучший способ.

В дереве Project Manager щелкните правой кнопкой мыши по проекту и выберите «Очистить» из всплывающего меню.

Точки останова появляются волшебным образом и это очень быстрый метод.

Я подозреваю, что это происходит, когда вы сделали сборку релизов, при этом отладка отключена. Затем вы возвращаетесь обратно к конфигурации отладки и выполняете компиляцию, а не сборку. Файлы, в которых вы не можете установить точки останова, соответствуют файлам с DCU, созданным компиляцией с отключенным отладки.

Простое создание для повторного создания всех файлов DCU заставит ваши точки останова работать снова.

У меня была такая же проблема с XE4. Вот почему я нашел эту статью пару часов назад. Ни один из вышеперечисленных решений не работал у меня. Правильное решение для меня — до сих пор — было добавление опции «удаленные отладочные символы». Странно, потому что я не использую удаленную отладку. В любом случае, теперь это выглядит нормально.

Вот еще одна причина, по которой код не совпадает с маркерами точек останова (сине-красная «таблетка» в желобе).

Редактор распознает три разных окончания строки,

    CRLF (возврат каретки — пара перевода строки) Только CR Только LF

Из них CRLF является значением по умолчанию в редакторе.

Однако компилятор, похоже, не рассматривает CR only как конец строки, только только CRLF и LF only . Таким образом, если ваш исходный файл имеет только один или несколько CR only , «синие таблетки» будут смещены относительно источника.

Вы, возможно, получили исходные файлы с символом CR only EOL (конец строки), например, из Интернета. Я помню, MAC OS использовала CR only как EOL.

Чтобы проверить EOL в вашем файле, вы можете включить отображение EOL в редакторе

( Tools — Options — Editor options — Source options — Show line breaks) .

Символы выглядят странно (см. Изображения ниже), но это просто C сверху L для CRLF, C сверху R для CR и L сверху F для LF.

На следующих изображениях показаны обычные EOL ( CRLF ) и EOLS после того, как я принудительно установил CR only для одной строки и LF only для другой строки в шестнадцатеричном редакторе. Как было сказано выше, CR only смещает маркеры точки останова из исходного кода.

Обычные CRLF EOL’s:

Одна строка CR only с CR only и одна LF only с LF only :

исправлять
Чтобы сбросить все EOL в CRLF , снимите флажок Preserve line ends в Editor Options

( Tools — Options — Editor options) ,

внести тривиальное изменение, чтобы файл был помечен как измененный, рядом с файлом, чтобы сохранить изменения в XYZ.pas? YES и снова откройте.
Теперь все окончания строки — CRLF.

Это ошибка, перезапуск Delphi устранит вашу проблему.

Включение удаленных отладочных символов сделало это для меня (ничего более не работало). Проект > Параметры > Связывание и проверка Включите удаленные отладочные символы.

Другая причина неработоспособности точки останова может быть (часто тестируется с delphi5):

Слишком много процедур в блоке.

Решение состоит в том, чтобы переместить процедуры в другую единицу.

В delphi 7, похоже, существует реальная ошибка при установке точек останова.

У меня была единица, где многие тексты были определены в

в разделе интерфейса, где тип записи имеет некоторые элементы AnsiString.
В разделе реализации есть несколько процедур.

В некоторых частных случаях, когда я устанавливаю точку останова в любой части процедуры, delphi не останавливается на ней!

Замечания: все параметры для отладки установлены правильно (как для F7 вызывает остановку delphi в «начале» программы, синие точки видны во всем блоке, когда линия остается красной при выполнении приложения) и все DCU, которые имеют в соответствии с файлами PAS были удалены со всех моих дисков и во всех папках, прежде чем я сделал полную сборку для всего проекта. Поэтому ни один файл wold не должен никуда болтаться.
Для тестирования я переименовал PAS в другое имя, которое никогда не использовалось ранее, и, конечно же, нигде на каком-либо диске, затем не адаптировало все источники и не перекомпилировало, просто чтобы убедиться, что мы с delphi ищем один и тот же файл PAS, но точки останова тоже не работает.

Читайте также:  Отремонтировать слуховой аппарат своими руками

Но произошло другое, очень странное: текст consts (!) изменен в моем исполняемом файле (не в файле exe, но, очевидно, в памяти)! Эти тексты были проверены на правильность во время запуска программы, а иногда и жаловались на ошибки! Отображение текстов в окне сообщений показало, что в этих текстах был изменен символ sinlge, который определяется как const. Для теста я попытался присвоить что-то этим константам в моем коде, но, как и ожидалось, компилятор жаловался, поэтому он не может быть обычным назначением, которое вызывает изменение текста. Должен быть неправильный указатель. Weird.

Итак, часы тестирования последовали за ним, ища какой-либо исходный код, который мог бы установить неправильный указатель, который позже может вызвать это изменение в текстовом const. Я поместил блок сообщений в секцию инициализации первого блока в цепочке инициализации блока, которую я смог отредактировать, но измененный char был уже там! Должно быть изменено очень рано во время запуска моего приложения, тогда!

Наконец, я понял, что char, который появился в моих текстах, всегда был $CC — это именно код ассемблера для INT 3, код, который delphi использует для установки точки останова. И при перемещении точки останова внутри этого устройства линия вверх или вниз, положение измененного символа также перемещает некоторые символы слева или справа! И количество символов, которые некорректно перемещали, просто коррелировало с предполагаемым количеством ассемблерных закодированных байтов соответствующих строк. Установив две точки останова в линиях рядом друг с другом, внезапно изменились два символа! При удалении всех точек останова с этого блока текст остается неизменным!

Итак, есть только один вывод: сам дельфи меняет эти тексты при попытке установить точку останова и не может этого сделать. Я не смог избавиться от этой ошибки. Ни один из советов о повторной синхронизации delphi внутренней бухгалтерии файлов исходного и объектного кода не помог мне!

Поскольку рассматриваемая единица состояла главным образом из <$ I>строк между несколькими <$ IFDEF>s, для включения некоторых разных, но длинных паскальных текстов, я считал, что delphi имеет проблемы с слишком длинными включениями или оценки условных команд компилятора. Поэтому я удалил входящие и сразу же отправил исходный текст в блок и удалил <$ IFDEF>s, который скомпилирован без ошибок, но установка контрольных точек также изменила мои текстовые константы, а не прекратила выполнение. Все равно!

Я решил это на данный момент, разделив блок на два блока, один из которых содержит только текстовые константы в его части интерфейса, а второй — для хранения процедур. И теперь, не меняя каких-либо параметров компилятора или компоновщика, все точки останова работают, как ожидалось, а не меняют текст больше!

Итак, если точки останова не работают для вас, хотя вы уверены, что они должны, возможно, delphi является виновником и не может установить точки останова в правильном месте. В случае, если он меняет только некоторые тексты, возможно, это никогда не дойдет до вашего внимания. Разделение устройства помогло мне, возможно, это тоже поможет.

Источник

Оцените статью