Как продолжить после Delphi 2010 "Отладка сеанса в процессе. Завершить?" сообщение? - PullRequest
3 голосов
/ 08 сентября 2010

Я получаю много сообщений "Отладка сеанса в процессе. Завершить?"при попытке перезапустить мое приложение после обычного редактирования в Delphi 2010. Мое приложение уже было запущено (возможно, несколько раз) и без проблем завершает работу в моем режиме редактирования, но после завершения редактирования иногда опция «Запустить» отключается, и яполучить этот "сеанс отладки в процессе. Завершить?"сообщение.Затем я должен быть осторожен, чтобы сохранить свои изменения, а затем использовать Windows «Закрыть окно», чтобы прервать работу Delphi и перезапустить IDE.Мое приложение довольно большое и использует FastMM4.Я хотел бы устранить проблему, но был бы рад более аккуратному способу отладки отладчика от того, к чему он привязан.Любые предложения?

Кстати, мое приложение полностью компилируется (и выпускается с использованием) Delphi 7, в котором у меня вообще нет проблем, даже когда я нажимаю Ctrl-F2 в середине выполнения моего приложения.*

Ответы [ 4 ]

1 голос
/ 08 сентября 2010

Вы уверены, что ваше приложение и все его потоки полностью закрыты? Что произойдет, если вы нажмете Control-F2, когда вернетесь в режим редактирования? Есть ли какие-либо изменения в заголовке главного окна, когда вы это делаете?

1 голос
/ 08 сентября 2010

Скорее всего, какой-то поток в вашем приложении все еще работает, не давая вашему приложению завершиться полностью и, таким образом, поддерживая сеанс отладки живым.В зависимости от состояния вашего приложения и остальной части процесса завершения приложения, в этом случае у вас все еще может быть «запущен» заголовок IDE.

Вопрос Frogb о нажатии Ctrl-F2 был (я предполагаю,) чтобы увидеть, действительно ли это так.Если вы нажмете Ctrl-F2, когда ваше приложение будет полностью завершено, ничего не произойдет.Однако, если какой-то поток все еще остается активным и поддерживает сеанс отладки, Ctrl-F2 должен прекратить его, и если заголовок вашей IDE показывает «выполняется», который теперь должен исчезнуть.

Факт, что вы можете нажать Ctrl-F2 в D7, даже если ваше приложение все еще работает и имеет правильное завершение, следует ожидать.Это именно то, для чего предназначен Ctrl-F2: завершение всех еще работающих потоков (довольно грубо, я мог бы добавить).

0 голосов
/ 30 сентября 2010

Я могу обойти проблему (это не происходит слишком много), но у меня есть дополнительная информация, показывающая проблему на некоторых захваченных изображениях.Это то, что я вижу после остановки программы. Отметьте серым «Detatch from program» ..

alt text

Затем появляется следующий набор сообщений, приводящий к принудительному выполнениюпрекратить IDE ... alt text

alt text

alt text

0 голосов
/ 08 сентября 2010

Возможно пункт меню Run / Отделить от программы?

...