И кнопочку «Повтор» не забудьте!
???? ?????, ? ??????? ?? ?????? ?????? ????? ????????????, ???????? ????? ????????????? ????????????. ??? ???????????? ??????????? 100% (a ? ?????? - ??? ????? 100%) ????????????? ???????????. ????? ??????, ????? ????????? ??????? ?????? ????? ? ???????????? ????????, ??? ??????????? ??????? ???????? ????????. ??????????????? ????????????? ????? ??? ??????????? ???????? ?????????, ???????????? ???? ? ????????? ?????? ?????. ??? ??????, ???????? ? ?????????? ?????? ?????? ??? ???????? ???????.
??? ???? ??????? ??? ????????. ??-??????, ??? ?????? ? ???? ????????????? ????? ???????, ?.?. ???????????????? ?????????, ??? ????? ?????????? ?????????. ????????, ???? ???? ?????????? ??????? ??????????, ?? ??? ?????????? ??????? ?? ????, ??? ????????? ? ???? ?? ?????? ??????? ?????. ???, ??????, ???? ???? ????? ???????? ?? ??????????? ???? ??? ????? COM ??????????. ?????? ??????, ? ????? ??????? ???? ????????? ???? ???? ??????. ??? ????? ???????? ?????????????? ?????? ??? ???-?????? ???. ?? ???????? ?? ????????????????? ???????? ???? ???? ??????????, ? ??? ???????? ????????????? ?????? – ????? ????.
??-??????, ???? ???? ?? ???? ?? ?????? ??????? ??????? «????????????», ???????? ?????? ???????? – ?????????? ???? ????????? ????. ?????? ????? ????? ???? ??????? ?????????? ?????. ? ??????. ?? ???????? ?? ???? ???????? ????? ?? ????? ?????????? ?????? ??? ???? ?????? ??? “Hello world”. ?????? ????????? ???? ?????? ?????????? ??????? ?????????? ??????? ?????? ????????????. ?????, ??????????? ??? ??? ??????? ????? ?????????? ??????? ??????????, ????? ????? ????????? ????? ??????? ???????????? ????, ?? ? ??????? ?????? ??????? ???????? ???????. ?? ?????, ? ??? ???? ?????, ???????????? ??????? ????????? ????????? ??? ??????????????? ???????.
??? ???????????? ???????? ???????????? ??? ?????????? ??????? (fuzzers). ?????? ?????????? ????? ?????? ??? ???????, ? ??????? ????????? ??????? ???????? ??????. ??? ????? ???? ??? ????????? ?????????????????? ????, ??? ? ?????? ??????? ?????? ?? ????? ??????? ??????. ? ???????, ??? XML ??????? ????? ????????? ??????? ?? ????? ????????? ????, ????? ????????? ???????? ? ?????????? ?????????, ????? ????? ? ????????????? ????????. ????????? ?????????? ?????? ?????? ????????? ???????????? ????? ??????, ???????? ?? ????. ???????????? ????????? ??????????? ? ?????????? ?????? ?? ?????????? ????????? ?????? ????? ????????????? ????????????????????? ?????????, ???? ?????????????? ?????????? ??????????? ??????????? ????????? ???????. ???? ?? ??????? ????? ???????????? ?? ?????? ??? ???????? ????????, ?? ? ??? ???????????? ????????? ???????, ??????????? ? ?.?. ?????? ? ???? ?????? ?????? ???????? ?????? ? ?????? ?? ?????, ?????? ????? ?????????? ?????? ? ?????????? ?????????????????? ?????? ??????? ?????? ??? ??????????.
???? ????????????? ???????? ????????? ?????????? ??????????? ??????, ? ????? ?????? ????????????? ??????????? ??????? ???????? ?? ????? ??????. ??????????? ???????????? ?????? ??????????????. ????? ?? ??? ????? ???? ? ??????? ????????, ???? ? ?????????????? ??????, ??????????????? ???? ???????? ????? ??????????? ???????. ?????? ? ?? ???????????? ????? ????????, ?? ??????????? ?? ???. ????? ????????? ???? ???? ?????? ????? ?????? ??????????? ???????? ? ?????????? ???????????. ? ?????? ???? ?? ????? ??????? ????? ????? ???????????? ?????????????????? ???????. ???? ????? ??????? ?????? ????? ???????? ??????????? ?????????? ???? ??????????? ???????? ??????????????? ? ????. ??? ????? ??????????? ?????? ????????????? ???????? ??? ?? ?? ?????, ??????????????? ? ?????????. ??? ????? ????????? ???????? ??? ???:
void
replayTest(
const Log& log
)
{
...
while (!log.empty())
{
...
int r = log.top();
log.pop_front();
...
}
...
}
void
doTest()
{
Log log;
try
{
...
while (1)
{
...
int r = rand();
log.push_back(r);
...
}
...
}
catch (...)
{
DebugBreak();
replayTest(log);
throw;
}
}
????? ??????????, ????????? «catch(…)», ????????? ???????. ??? ???? ????? ??????? ??????? «replayTest», ??????? ????????????? ? ???????? ????????, ????????? ? ??????????. ???? ?????? ????? ??????? ??? ?????, ?????? ????????? ???????? ????? ? ????????? ???? ???? ? ??????? ??????????? ????????????? «replayTest» ????????? ???.
Cross-posted from blog.not-a-kernel-guy.com.
Comments
- Anonymous
January 01, 2003
Нашел ошибку в посте: Хотя использование фаззеров позволяет эффективно отлавливать ошибки, в точки зрения результатов фаззеры выглядят не очень хорошо. Это нужно читать как: “Хотя использование фаззеров позволяет эффективно отлавливать ошибки, в точки зренияповторяемости результатов фаззеры выглядят не очень хорошо.” С точки зрения результатов фаззеры выглядят как раз очень даже неплохо.