Erarserĉilo

Erarserĉilo aŭ sencimigilo estas komputila programo kiun oni uzas por sencimigi aliajn komputilajn programojn, do malkovri la kaŭzon de eraro kaj korekti tiujn erarojn. La maŝina kodo, kiun oni sencimigas, povas esti plenumata en tiel nomata "simulilo de ordonaro"", kio ebligas haltigi programon preskaŭ en ĉiu loko kaj sub ajnaj antaŭdifinitaj kondiĉoj, sed la plenumo de la kodo povas estis multoble pli malrapida, ol se oni rekte plenumas la kodon ĉe procesoro.

Se iu programo ĉesas funkcie neatendite kaj produktas iun erarmesaĝon aŭ iun escepton, tiam la erarserĉilo povas indiki la pozicion en la fontkodo, kiu estis plenumita la plej lasta. Tiujn sencimigilojn oni nomas fontnivelajn sencimigiloj, aŭ simbolaj sencimigiloj ("simbola" signifas ĉi tie, ke ĝi kapablis trovi la originan "simbolon" en la fontokodo, kiu kondukas al la problemo en la kompilita kodo. Kutime fontonivelaj sencimigiloj estas parto de integra evuiga medio. Kutime tiuj sencimigiloj ofertas pliajn opciojn por efektive kaj rapide trovi kaj korekti programajn erarojn, ekzemple oni povas plenumi programon linion post linio, oni povas difini specialajn haltopunktojn, kie la kuro de programo devas esti haltigita. Tiu sencimigilo estas nedisŝirebla parto de integra evoluiga medio (IDE), kaj pro tio donas eblecon montri sisteman informon dum kurtempo kaj momentajn valorojn de programaj variabloj. Ĉe kelkaj (ĉefe interpretaj komputillingvoj sencimigiloj ankaŭ ebligas tujan ŝanĝon de la kodo kaj plenumas post la halto jam korektitan fontokodon.

Plia tipo de sencimigilo estas malaltnivela sencimigilo aŭ sencimigilo de maŝina kodo, kiu malkompilas ĉiun ordonon de maŝina kodo.

Sencimigilo faciligas la serĉadon de eraroj en programo, pro tio la disponebleco de bona erarserĉilo por specifa programlingvo kaj platformo povas esti grava argumento por uzi tiun lingvon. La uzado de erarserĉilo ja havas konsekvencojn se temas pri kiel la sencimigata programo sin kondutas. Konkrete la temposkemo de specifaj paŝoj povas
devii de normala plenumado. Tio malfaciligas trovi problemkaŭzojn en komplikaj programoj.

Sencimigiloj, kiuj estas integritaj en IDE havas specialan aspekton (front-end), kiu ebligas uzon de sencimigaj funkcioj kaj krome aldonas funkciojn por grafike bildigi la proceson.

Alternativo por uzado de erarserĉilo estas la metado de protokolaj instrukcioj en programo, por ke dum la plenumado de programo estu komprenebla kio estas la valoroj de specifaj variabloj. Tiu ĉi metodo estas malkonciza kaj havas la ĉefan malavantaĝon ke por ĉiu sekvenda variablo estas bezonata aparta protokola instrukcio.

 Listo de sencimigiloj 
 CA/EZTEST (Cics Interactive test/debug)
 CodeView
 DAEDALUS
 DBG - Sencimigilo por PHP kun profiligilo
 dbx
 DDD, Data Display Debugger
 DEBUG DOS-ordono
 DŭDebugger — Debugger Disassembler for Windows 64-bit
 Eclipse
 GoBug simbola sencimigilo por Vindozo
 GNU Debugger (GDB)
 Insight
 Interactive Disassembler (IDA Pro)
 Java Platform Debugger Architecture
 JSwat, malfermkoda sencimigilo por Java
 MacsBug
 OLIVER (CICS interactive test/debug)
 OllyDbg
 IBM Rational Purify
 sdb
 SIMMON (Simulation Monitor)
 SIMON (Batch Interactive test/debug)
 SoftICE
 Turbo Debugger
 WinDbg
 Valgrind
 VB Watch Debugger por Visual Basic 6.0
 Microsoft Visual Studio Debugger
 XSLT kaj XQuery sencimigiloj en Oxygen XML Editor

 Eksteraj ligiloj 
 (en) Lernu la esencon de sencimigado Kiel plibonogi viajn sencimigajn kapablojn, artikolo ĉe IBM developerWorks.
 (en) OpenRCE: Diversaj sencimigiloj kaj ties aldonaĵoj 

Kategorio:Komputiko