[VC++] Ну, баг репорт в M$... Они, сволочи, уже должны бы деньги выплачивать за каждый найденный русскими зловредный баг ;-)05.01.05 08:20 Число просмотров: 1667 Автор: HandleX <Александр М.> Статус: The Elderman
Кажется, что-то уже проскакивало на тему того, что subj не правильно определяет длину некоторых процессорных команд. Я вот наскочил в первый раз, полчаса с карандашом и hiew "вычислял" что у меня не так.
naked-функция на inline-ассемблере, в ней последовательность команд:
2B DF sub ebx,edi
1B C2 sbb eax,edx
1B F1 sbb esi,ecx
01 6C 24 08 add dword ptr [esp+8],ebp
---
куча параметров, локальные переменные, макросы, поэтому трассирую все по-шагам, вижу что последняя команда как-бы не выполняется...
После разбирательства выясняется, что отладчик неправильно определяет длину последней команды и калечит её вставляя int3 (0xCC) на один байт раньше, т.е. получается:
01 6C 24 CC add dword ptr [esp-34h],ebp
---
Вот такая он сволочь!
[VC++] Ну, баг репорт в M$... Они, сволочи, уже должны бы деньги выплачивать за каждый найденный русскими зловредный баг ;-)05.01.05 08:20 Автор: HandleX <Александр М.> Статус: The Elderman