Back to Reverse Execution

Simics reverse execution and reverse debugging is a very powerful feature of the simulator. In this blog post and accompanying video, we will look at what exactly it is you can do with reverse execution in Simics. It is not just a matter of running backwards to a breakpoint or stepping instructions (pick up my 2012 S4D article for more…

How Simics Gets Started (with video)

????Having worked with Simics for more than a decade, it is easy to get blind to the obvious. To me, starting a Simics simulation is a trivial thing that I do many times per day. However, to a newcomer to the product, it is not so obvious, and it might even seem a bit daunting. It is not daunting, and…

Inspecting and Reconfiguring a Target in Simics 4.8

As we said in the first blog post on Simics 4.8, a really big new feature is the System Editor function. The system editor combines two functions into a single view, both the exploration of an existing target as well as the modification and even construction of a new target from existing pieces. A demo video is available on the…

Collborating using Simics Recording Checkpoints

One of the main themes of the Simics 4.8 release is the use of Simics to collaborate between team members, teams, and organizations. To facilitate this, Simics checkpoints have been extended with significant new metadata capabilities as well as the ability to record a simulation session and communicate the recording as part of a checkpoint. Checkpointing can really transform how developers and testers…

Simics 4.8 is Here

Simics 4.8 is now generally available for old and new users to enjoy. I will be doing a series of blog posts going into the details on what is new and improved in this release. Simics 4.8 represents a significant improvement in the Simics user interface and collaboration features, as well as tweaks to the simulator performance, debugger, and modeling…

Serving Windows Files from a Simics Quick-Start Platform

Windows file sharing has always felt a bit magical to me. I use it all the time, certainly, but I never quite understood how it worked; it was just this big chunk of Microsoft protocol that felt like it really did not want to talk to other types of operating systems. Sure, I have used the open-source "samba" server for…

Debug Quicker with Simics (video)

Late last year, I presented a one-hour webinar on how Simics lets you “resolve bugs in minutes instead of weeks.” Part of that webinar were two Simics demos that show Simics in action, from the first booting of a target system through loading software onto it and debugging a nasty crash in a server program. The webinar demos are now…

Debugging Simics – on Simics

I often write and talk about how useful Simics is for debugging concurrency bugs and glitches in multithreaded and multicore systems. Recently, we had a case where we proved this on a very complex application, namely Simics itself. This nicely demonstrated both the recursive completeness of Simics, and its usefulness for conquering tricky bugs in complex software. 13

Determinism, Simics, and Flying Piggies

In a recent Simics seminar, I was asked about repeatability, variability, determinism and Simics. This is a question that comes up almost every time I present about Simics in front of an audience with testing experience. The people asking the question intuitively think that determinism is a bad thing - since it sounds like it will limit the execution scenarios…

Systematically Exposing OS Kernel Races – An Interview with Ben Blum

Full-system simulators like Simics provide unparalleled insight into what is going on in a target system. Indeed, better insight is one of the main features of simulation that we get regardless of what we simulate and how. In addition, if we want to, we can also exert control over the target system to make it take different execution paths than…