????????????????У?????????????????????????????3:1(???????????)????????????????????????????????????????????????????????????????????????????????????λ??????????????????и????ε??????Oracle??????????????????:??????????????????????????????Щ???????Oracle????????????Щ??????????????????????????????????????????????????Χ????????????????????????????????????á?????????????????????????????????????????Oracle?е????????????????:??????????????????????в??????????????п??????????????????Oracle????????λ????????????????????????????????????????????????:

1.??????ù???

2.???緢?????????

3.?????????????

4.??????????????

5.?????????????

6.???????

7.??????????????

8.????????????ζ???????

9.?????????????????????

10.???ó???????

??????????????????????????????檔????Χ???????????????????

??.??????ù???

????????????????????????????????????Ч???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????豸???????渴?????????????п?????Ч?????????????????

???????????????????????????????????????????????????????????в??????÷?Χ???в?????????????Щ?????????????????????Щ???????????????????????????Щ?????????????????????ü????????????????????????????????????????????????????????????????????????????????ò????????????????????????????????£?????????????????????????????t???????鵽??????????????п????????μ?????????????????????????????????????????????????bug???????????????????????????????????printf???????????Ρ????????????Щ????????????????

.?????????[Source-level Debugger]

????????????????????????????????á?????????????????????????????????Ч??????????????VxWorks TornadoII????gdb??????????

.???????????????[printf]

printf???????????????????????????????????????????????й????е????????????????????????е???????????printf?????????????и??????(???printf???CPU?????????)???????????????????????????????????

.ICE??JTAG??????[In-circuit Emulator]

ICE??????????CPU??????豸???????????????????????????????????£???????CPU?????????????????????????????????????????????????????????????????????????Щ????????????????ICE????????????????CPU????????(bond-out)CPU??????????????????CPU???????????????????????????CPU?????????????Щ??????CPU??????????????????????????????????????????????????????ICE????????????????????????????ICE??????Щ?????????????????????????????????е?CPU????????????CPU??????????????????Щ???CPU??????????????3???CPU????????JTAG(Joint Test Action Group)??????????????????????IC???·???????????????н??????????????????????????AD????Blackfin????Visual Dsp++??????? JTAG?????

.ROM??????[ROM Monitor]

ROM????????С??????????????ROM?У???????е?????????????????????????????????????????????????????????????????????????????????????????????????????????κ???????????????????1??????????????п??????????????????????????????????檔???ROM???????????????????????е??????ó????????????????????????????CPU????ó??????????????????ó?????ν???ROM???????

.Data??????[Data Monitor]

??????????????CPU???е?????2??????????????????????????????????????????????????????仯?????

.OS??????[Operating System Monitor]

????????????????????????????л??????????????ж???????????棬??Щ????????????????????????????????????????棬????????????????????????????????ж???????????????

.???????????[Profiler]

????????????CPU???????????profiler???????????????????????????CPU??????????????????????

.?????????[Memory Teseter]

??????????????????????????????й?????????????????????????????????????Щ??????????Ъ??????????????????????????

.???и?????[Execution Tracer]

???????CPU???????Щ???????????á????????????????????????????????????????????????????????????????з?????????Щ??

.???????[Coverage Tester]

??????CPU???????????Щ???????????????Щ????????б???е????????????????????????????????????

.GUI???????[GUI Tester]

?????????????????????????????????н???????Щ?????????????????????????????е??GUI?????????????????????п????????????в??????????書???????????????????????????????????????????ú??????????(Rational?????robot??Mercury?? Loadrunner?????????????)??????????豸???GUI??????????????????豸???в????????GUI?????????????????????????????????и????????????????????????????

.???????[Home-made tester]

??????????У????????????????????????б?д?Щ????????????????????????????д??????????????????????????????????仯??????????﹫?????????????????bug??

??.???緢?????????

???????Σ?????????????飬?????????????:???й???????????????????????????????????????????????緢???硰????????????????У????й?????????????????????????????????????????????????????????????????????????????????????????й??????в???????й????????????????????飬???????й??????????????????????????????????????Щ???й????????????????С??п???????????е?bug????п????????????????????????????????????????á?

?????????????????й???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????п???????????????????????ζ???????????????????????????й?Σ?????????????????????????????????Щ?????????????????????????????顢??????????????????????????????й????????????????????б?????????????????????úá????????????????????????????й?????????????????δ???

???????????й???????????????????????????????治?????С????棬????γ????????????????????????????????п???????????????湻??????????????Щ?????????????????????????????????????????У???????????????????????????????Ч?????????ù?????????????????????????????????????????????????????????????????

???????????????????????????????У???????????malloc/free?????????

????????????????????????????????????????硢д?????????楨???????????????????????????????????????????????????????????????????????????????????

??????????????????????????????С???????????????????ù?????????????????

??.?????????????

???????????????????????????????????????Ч??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????profile(?????????????Щ???????IDE????????????????)?????????????????????????CPU????????????????????????????????????????????????Ρ???????????Ρ????????????????????????????????????????

?????profile???????????????????滹???в?????????????棬???????profile??????????????????????CPU???????? profile????????CPU??y??????profile????????????????????á?????HeisenbergЧ????κβ?????λ???????????????У??????profiler????????

????????????Ч?????????????????CPU???????Щ????????????

??.??????????????

???????????????????????????

????????????????????????????????shit????????????????????д????????????????shit bug??????????????????д?????????????????????????????????shit??д???????λ??д??????????????????????????????????λ????????????????????С????????????????????????????????????????????????????????????????????????????????????????????ú÷????μ??????????????????????????????????淶????м???Щ??????????????????????н??Щ??????????????????????????????д????????ο?????????????c++/c?????????????C??0x8???????顱????

????????????????????????????????????????????????????Щ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Ч??????????????????????????????????????????????????????????????????λ?á?

??.?????????????

????????????????????????????????e?д???????????????????????飬????????????????????????????????????????????????Щ???????bug?????????????????????Ъ?????????б???跨?????????????????????????????????????ο?????????Щ??????????????????????????ü??????Щ???????????????????????????????????????????????????????#ifdef???Щ???????????????????????С??????????????????????????????????λ?????????????б?????????????????????????ICE??????????????????????????仯????????????????ú????????????????????????????????????????????????????

??.???????

?????????????????????·??????????????????????Щ??????????????????·??????????Щ????????·????????????????и???????????????????????????а??????????У??????????????????????????????????????????????????????????Щ??????????????????????????μ????????????ε????????????????????SCS???汾??????VCS (Concurrent Version Control??CVS??VCS??????汾)????????汾check in?????????????汾????????????????SCS/VCS/CVS?????diff???????????????????????????BeyondCompare??ExamDiff???????????????и??????????????п?????????????????

??.??????????????

???????????????ж??????????????(coverage testing)???????????????????????????????CPU???????????Щ???????????????????????????20%??40%????????????????????????bug??????????в???????????????????????????????????????????????????????????????沢?????dead code??????????????????????Щ??????????????????:

if (i > = 0 && (almostAlwaysZero == 0 | | (last = i)))

???almostAlwaysZero?????????last=i???????????????????????????????????????????????????????????????????????????

????????????????????????????а?????

??.????????????ζ???????

???о???????????????????80%?????????漸??????:

.????????????(???????)

.????????????????????(???????)

.??????????(??????)

????????????????????10-200??????????????bug???????bug???????????????????????????Сbug????????????????????????bug???????????????????????????????????????Щ???????????????????????????????????????????????????????????????????????????????

??.?????????????????????

????????е?????profile?????????????????????????????????????????????????????????????в????????????Щ??????????????t????й?????п???????鵽??????????????????????????Щ?????????????????????????Щ????????????????е?????????????????κ?????????????????????????????????????

10.???ó???????

?????????????????Щ?????????????????????и???????????????????????????????????????????Щ???????????????????Щ?????????????????????????????????????????????????????????????????????????????????????????С?????????????????????????????????

???:??????????????????????????????????????????????ó??????????????????鰱??????ù?????????????????????Oracle??????????????????????????????????????ó????