Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Delphi |
![]() ![]() |
Топик располагается на нескольких страницах: ←Ctrl назад 1 .. 38 39 40 41 42 43 44 45 [46] 47 вперед Ctrl→ |
Kazantsev Alexey Member Откуда: Сообщений: 4921 |
Накатил официальные фиксы, проверил - всё по прежнему работает. |
||
16 сен 19, 17:20 [21971843] Ответить | Цитировать Сообщить модератору |
Mikhail Tchervonenko Member Откуда: Münster, Germany Сообщений: 1721 |
возможно зависит от того что ищешь. Попробуй поискать по слову size_t а потом по результату кликнуть. |
||||
16 сен 19, 17:58 [21971875] Ответить | Цитировать Сообщить модератору |
Kazantsev Alexey Member Откуда: Сообщений: 4921 |
Нормально отработало. |
||
16 сен 19, 18:02 [21971877] Ответить | Цитировать Сообщить модератору |
X-Cite Member Откуда: Минск Сообщений: 1804 |
Проверили с коллегой.. У него темная тема, у меня светлая... Вылетает у обоих.. fix'ов не стоит... Имя сбойного приложения: bds.exe, версия: 26.0.34749.6593, метка времени: 0x5d224e21 Имя сбойного модуля: ntdll.dll, версия: 10.0.18362.356, метка времени: 0x8de1c53a Код исключения: 0xc0000374 Смещение ошибки: 0x000df94d |
16 сен 19, 18:08 [21971882] Ответить | Цитировать Сообщить модератору |
Mikhail Tchervonenko Member Откуда: Münster, Germany Сообщений: 1721 |
Kazantsev Alexey, вот такая петрушка бывает когда нет исходников от ide. В лазаре на раз два уже бы нашли проблему а тут только с бубном плясать. Благо не сильно нужная фичя. |
16 сен 19, 18:09 [21971885] Ответить | Цитировать Сообщить модератору |
Mikhail Tchervonenko Member Откуда: Münster, Germany Сообщений: 1721 |
я в домене, а Вы? может на безопасность как то завязано. Хотя если среду из под админа пускать не помогает. |
||
16 сен 19, 18:11 [21971888] Ответить | Цитировать Сообщить модератору |
Mikhail Tchervonenko Member Откуда: Münster, Germany Сообщений: 1721 |
у меня: ntdll.dll, 10.0.18362.329, C:\WINDOWS\SYSTEM32\ |
16 сен 19, 18:19 [21971895] Ответить | Цитировать Сообщить модератору |
Док Member Откуда: Казань Сообщений: 6923 |
тут где-то недавно мелькала претензия к нему. |
||
16 сен 19, 19:02 [21971931] Ответить | Цитировать Сообщить модератору |
X-Cite Member Откуда: Минск Сообщений: 1804 |
Mikhail Tchervonenko, В домене... Комьюнити версия, дома без домена, на win 7 та же проблема.. |
16 сен 19, 19:51 [21971952] Ответить | Цитировать Сообщить модератору |
makhaon Member Откуда: A galaxy far far away Сообщений: 3770 |
колл-стэк вроде эврикалогом можно снять |
16 сен 19, 20:21 [21971962] Ответить | Цитировать Сообщить модератору |
Kazantsev Alexey Member Откуда: Сообщений: 4921 |
У меня 10.0.16299.15. Проверил ещё на Win7, тоже не падает. |
||
16 сен 19, 20:43 [21971971] Ответить | Цитировать Сообщить модератору |
vavan Member Откуда: Казань Сообщений: 3581 |
|
||
17 сен 19, 09:55 [21972166] Ответить | Цитировать Сообщить модератору |
Vizit0r Member Откуда: Одесса Сообщений: 864 |
дошли руки до OSX64. Всплыл очень милый баг с циклами procedure TForm5.Button1Click(Sender: TObject); var i : Longint; begin //downto used to take highest I at first iteration //same situation with " for I := 0 to MyList.Count - 1 do " for I := MyList.Count - 1 downto 0 do begin //normally this body should be never called! Memo1.Lines.Add('i = ' + IntToStr(i)); Break; end; end; ни на одной платформе (проверял Win32&64, Android, OSX32) - в тело цикла не заходит. на OSX64 же заходит аж на ура ![]() Копал асм код - на всех платформах, кроме OSX64, идет сравнение на меньше нуля 00D12E22 85C0 test eax,eax //compare with zero 00D12E24 0F8C9A000000 jl $00d12ec4 //jump if less (skip cycle) а на OSX64 это нет, есть только сравнение I с вычисленным значением -1, и естественно I больше, заходим в цикл от нуля до High(Longint) 0000000100D16CCC 4839CF cmp rdi, rcx //set flags as if calculated RDI - RCS 0000000100D16CCF 488945C8 mov qword ptr [rbp - 0x38], rax 0000000100D16CD3 48894DC0 mov qword ptr [rbp - 0x40], rcx 0000000100D16CD7 0F8FFE000000 jg 0x100d16ddb; //jump if greater При i : Integer баг не повторяется. Это баг такой, или я что-то сильно не понимаю? |
2 окт 19, 12:29 [21984740] Ответить | Цитировать Сообщить модератору |
makhaon Member Откуда: A galaxy far far away Сообщений: 3770 |
возможно с разрядностью Longint связано: 32-bit platforms and 64-bit Windows platforms 64-bit iOS platforms LongInt 32-bits (4 bytes) 64-bits (8 bytes) Integer же всегда 32х битный. |
2 окт 19, 13:50 [21984883] Ответить | Цитировать Сообщить модератору |
Vizit0r Member Откуда: Одесса Сообщений: 864 |
это понятно. Но в Win x64 такого нет. |
||
2 окт 19, 13:59 [21984893] Ответить | Цитировать Сообщить модератору |
Kazantsev Alexey Member Откуда: Сообщений: 4921 |
http://docwiki.embarcadero.com/RADStudio/Rio/en/Delphi_Considerations_for_Multi-Device_Applications#The_LongInt_and_LongWord_Data_Type_are_different_on_64-bit_POSIX_platforms |
||
2 окт 19, 14:06 [21984906] Ответить | Цитировать Сообщить модератору |
Vizit0r Member Откуда: Одесса Сообщений: 864 |
спасибо, буду знать. Получается, это своего рода фича - не использовать 8байтные типы для циклов, иначе будет неожиданная работа? |
||||
2 окт 19, 14:11 [21984919] Ответить | Цитировать Сообщить модератору |
Kazantsev Alexey Member Откуда: Сообщений: 4921 |
Vizit0r, Скорее, с аккуратностью пользоваться платформо-зависимыми типами. |
2 окт 19, 14:21 [21984930] Ответить | Цитировать Сообщить модератору |
Vizit0r Member Откуда: Одесса Сообщений: 864 |
Delphi при этом при наведении на LongInt пишут, что это Integer. ![]() |
2 окт 19, 14:26 [21984936] Ответить | Цитировать Сообщить модератору |
Kazantsev Alexey Member Откуда: Сообщений: 4921 |
Она, до недавнего времени, и по Ctrl+Shift+C эти типы путала. То есть, когда в декларации параметров метода использовался тип LongInt, она создавала реализацию с типом Integer. |
||
2 окт 19, 14:42 [21984955] Ответить | Цитировать Сообщить модератору |
Vizit0r Member Откуда: Одесса Сообщений: 864 |
кто-то этой комбинацией активно пользовался при написании\переделке PS, в куче мест так - в декларации LongInt, в реализации Integer. А при компиляции в OSX64 NextGen ругается на несовместимые типы. |
||||
2 окт 19, 15:00 [21984982] Ответить | Цитировать Сообщить модератору |
Kazantsev Alexey Member Откуда: Сообщений: 4921 |
Vizit0r, При создании наследников от TStream напрягает. К слову, этот баг пофиксили в 10.2. |
2 окт 19, 15:22 [21985032] Ответить | Цитировать Сообщить модератору |
Vizit0r Member Откуда: Одесса Сообщений: 864 |
Отладка в OSX64 просто ад. Переменные нетипизированны, почти все, что отличается от простых типов - показывается просто в виде указателя. Типизировать не дает - ругается на ошибки при вызове конструктора (конструктора, для обычной структуры или массива?!!). Строки, обычные стринги - в отладчике не посмотреть - битые. Вон на скрине видно. ![]() Ansi-строки = указатели, и опять же - типизировать не дает. Есть места, где при заходе в CPU отладчик вешается на минуты две, потом выдает ![]() Впрочем, такое может вылететь и при обычной пошаговой отладке в коде, хотя довольно редко. В CPU не перейти по адресу, введенному вручную, если он больше 4 байт (а там они все 8байтовые, неожиданно!). И так далее, много такого еще. Вобщем, дебаг просто вся жесть. Радует, что я в более-менее вменяемом отладчике под OSX32 (который правда иногда висит при подключении к удаленному приложению через paserver, но если уж подключился - то отладка нормальная) всё основное вычистил, остались уже мелочи из osx64, типа доведения до ума наконец-то заработавшего выполнения applescript в нотаризированной версии. Надеюсь, будут допиливать в следующих версиях, поле там непаханное. Сейчас отладка в x64 сырая донельзя. Как это соотносится с их рассказами про унифицированную отладку в ближайших версиях - хз) |
3 окт 19, 09:20 [21985551] Ответить | Цитировать Сообщить модератору |
vavan Member Откуда: Казань Сообщений: 3581 |
![]()
|
||||
3 окт 19, 09:59 [21985567] Ответить | Цитировать Сообщить модератору |
kealon(Ruslan) Member Откуда: Нижневартовск Сообщений: 6228 |
![]() |
||
3 окт 19, 11:04 [21985636] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: ←Ctrl назад 1 .. 38 39 40 41 42 43 44 45 [46] 47 вперед Ctrl→ |
Все форумы / Delphi | ![]() |