Правильный прототип функции DebugBreak()

Функция DebugBreak() объявлена вот таким образом:

void WINAPI DebugBreak(void);

Если подумать, то это не очень удачный вариант объявления. Гораздо более удобным вариантом был бы:

void __cdecl DebugBreak(...);

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

comments powered by Disqus