Собственно ничего сложного нет. Пишем такие же unit-тесты, а результаты assert-ов складываем в отдельную область памяти. Её потом легко просматривать на наличие единиц (можно сделать даже битовым сдвигом). Другими словами, нам нужно только написать функцию assert, которая сравнивает два своих аргумента и результат заносит в следующий бит (или байт) в выделенной области памяти (0 - хорошо, 1 - плохо). По позиции в памяти вычисляем сбойный ассерт. Если памяти много, то можно еще добавить аргумент с номером теста к ассерту, тогда у нас будет один байт номер теста, второй - результат.
Ну, кстати, так и логиваться можно прямо в режиме работы, только нужно в ассерте еще и циклический буфер сделать и указатель на текущий элемент.
А собственно, я в свое время так и отлаживался. Подходит для отладки очень быстрых процессов!!!!