Instruktionssteg

Ett instruktionssteg är en metod för att exekvera ett datorprogram ett steg i taget för att avgöra hur det fungerar. Detta kan vara för att avgöra om det korrekta programflödet följs i programmet under exekveringen eller för att se om variabler är inställda på sina korrekta värden efter att ett enda steg har slutförts.

Hårdvaruinstruktionssteg

På tidigare datorer kan en ratt på datorkonsolen ha aktiverat steg-för-steg exekveringsläge att väljas och exekveringen skulle sedan fortsätta genom att trycka på en "enkelstegs"- eller "enkelcykel"-knapp. Programstatusord / minne eller allmän registeravläsning kan sedan utföras genom att observera och notera konsollamporna.

Programvaruinstruktionssteg

På senare plattformar med flera användare var denna metod opraktisk och så enstegsexekvering måste utföras med hjälp av mjukvarutekniker.

Mjukvarutekniker

I vissa mjukvaruprodukter som underlättar felsökning av högnivåspråk är det möjligt att köra en hel HLL-sats åt gången. Detta involverar ofta många maskininstruktioner och exekveringspauser efter den sista instruktionen i sekvensen, redo för nästa "instruktions"-steg. Detta kräver integration med kompileringsutdata för att bestämma omfattningen av varje påstående.

med fullständiga instruktionsuppsättningar kunde emellertid tillhandahålla instruktionsstegring med eller utan någon källa, eftersom de arbetar på maskinkodsnivå, valfritt tillhandahåller fullständig spårnings- och felsökningsinformation till vilken högre nivå som helst som var tillgänglig genom sådan integration. Dessutom kan de också valfritt tillåta att stega igenom varje monteringsinstruktion (maskin) som genereras av en HLL-sats.

Program sammansatta av flera "moduler" kompilerade från en blandning av kompilerade språk, och till och med instruktioner skapade "on-the-fly" i dynamiskt allokerat minne, kunde hanteras med denna teknik.

Exempel på program som ger instruktionssteget 'Programvara'

  • SIMMON ett internt testsystem från IBM som gav instruktionsstegning

Se även