JavaScript is currently disabled.Please enable it for a better experience of Jumi. Titta, den backar

Nya Simics kan debugga kod baklänges

Världens första debugger som kan exekvera programkod både fram- och baklänges, steg för steg. Det är vad svenska Virtutech nu lanserar under namnet Simics Hindsight.



I teorin är det väldigt enkelt. Alla avlusningsprogram kan ju stegas framåt. Att då göra samma sak fast bakåt är intellektuellt lättbegripligt. Att dessutom kunna backa ett par steg, ändra något och sedan köra framåt igen känns också tämligen rättframt.

I praktiken är det dock så svårt att ingen gjort det hittills. Akademiska ansatser har funnits, men först nu finns en kommersiell produkt som klarar detta i form av Simics Hindsight från svenska Virtutech. Närmast hittills har nog programvaruleverantören Green Hills varit med produkten Time Machine, som dock mer fungerar som en "bandspelare" där man kan gå tillbaka till en tidigare tidpunkt för inspektion. Time Machine klarar dock inte stegvis backning på det sätt Simics Hindsight gör.

Förmågan att backa är den största nyheten i Simics version 3 som kommer i sommar. Backfunktionen lanseras dock redan nu.

- Att backa går lite långsammare än att köra framåt, och det tar en stund att vända också. Men det är ganska försumbara tidsförluster, säger Jakob Engblom, Virtutechs affärsutvecklingsansvarige.

Simics är ingen debugger i klassisk mening, utan en deterministisk simulator, komplett för såväl hård- som mjukvara och tillhörande nätverk. Nyckelordet är deterministisk - Simics har alltså entydiga samband mellan in- och utdata. Determinismen är en nödvändig grund för backförmågan.

Alla vanliga kommandon för debugging, som "ta ett steg framåt" och "fortsätt tills vidare" har kompletterats med baklängesmotsvarigheter ("ta ett steg bakåt" och "fortsätt bakåt tills vidare"). Det går till och med att simulera ett operativsystem som "debootas", vilket Jakob Engblom gärna demonstrerar.

- Det svåraste var faktiskt att få det att se grafiskt vettigt ut. Användaren måste ju förstå när simulatorn backar och när den går framåt, säger Jakob Engblom.

Bland annat därför har Virtutech anpassat Simics till den allmänt accepterade grafiska miljön Eclipse.

- Vi får mycket gratis med Eclipse, som ramverk, standardmoduler och editor. Och användaren kan ha andra Eclipseprogram igång samtidigt, säger Jakob Engblom.

Samma miljö används också av bland andra Wind River, Mentor Graphics och Enea. Ericsson och andra storanvändare av verktyg för inbyggda system har börjat kräva att verktygen följer Eclipse.

- Det håller på att bli en defactostandard, kommenterar Anders Flodin på Enea.

Adam Edström, Jan Tångring

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)