III Low-Level Debugging 11 Low-level Debugging with Simics
Simics User's Guide  /  III Low-Level Debugging  / 

10 Introduction

This part of the document explains how to use Simics as a tool in low-level software development. In this setting, Simics plays two roles:

execution platform
The software is run on a simulated target machine inside Simics.
debugger
Simics can either function as a stand-alone debugger, or as a debugger backend for an external debugger. The main Simics debugger is provided in Simics Analyzer.

Simics Analyzer provides a full symbolic debugger for C and C++. This is described in the Analyzer User's Guide. The debugger in Simics Analyzer is also capable of tracking software running on target machines, to give you the ability to debug individual processes, threads and tasks. Also, Simics provides some debugging capabilities.

Using Simics as a debugger has some major benefits compared to debugging on real hardware:

Note: It is recommended that you have read Getting Started before tackling this document.
III Low-Level Debugging 11 Low-level Debugging with Simics