April 3rd, 2007

nyaload

FunctionEnter/FunctionExit

По поводу предыдущего поста, написал (кривенький во многих местах) proof of concept. Можно теперь писать профайлеры-чего-угодно.

Штука клёвая, но похоже глючит со включённой оптимизацией - время от времени забывает вызывать _pexit (можно убедится, просмотрев asm-код функции вычисления числа фибоначчи и прочих с несколькими return). Причем это касается только 2005 студии, но не 2003. Возможно, потому что у меня непатченный Express.

Программа: http://www.everfall.com/paste/id.php?04ptsyuuzlwo
Вывод: http://www.everfall.com/paste/id.php?n4c9kxlkiofe
Видно, как "безобидный" vector::push_back превращается в лапшу (кусок вывода):
Collapse )