Миграция старого проекта из C ++ Builder 10.2 в 10.2.3 аварийно завершает работу во время выполнения - PullRequest
0 голосов
/ 16 мая 2018

Мне очень трудно обновить наш старый проект C ++ Builder 10.2 до 10.2.3 (мы используем 32-битный компилятор Clang на 64-битном ПК).

Установка 10.2.3 прошла нормально (на чистом ПК с Windows 10), - проект компилируется и связывается - все довольны.

Но при запуске приложения в отладчике я вижу, что указатель this для MainForm (довольно большой по историческим причинам объект) внезапно превращается в мусор при вызове одного вызова метода (при вызове одного из его собственные методы - сразу после завершения конструктора), что приводит к критическому отказу.

Я попытался закомментировать __fastcall соглашение о вызовах для конкретного метода, а затем отладчик идет немного дальше, но затем падает при следующем вызове метода, используя __fastcall из-за this повреждения указателя (мы есть 1000+ методов с __fastcall, поэтому комментировать их все не вариант).

Кто-нибудь знает, что происходит?

Может быть, новый переключатель компилятора Clang?

Проблема с большими объектами?

Я также пытался создать совершенно новый проект с нуля в 10.2.3 - но без удачи - происходит то же самое странное.

1 Ответ

0 голосов
/ 17 мая 2018
...