MPLAB IDE上で動作するデバッガです。シミュレータでI/Oを操作することにより擬似的に入出力を与え、それによる挙動を調べることもできます。
使用するには、メニューの【Debugger → MPLAB SIM】を選択します。

※ リストに[MPLAB SIM]が表示されない場合には、MPLAB IDEにコンポーネントを追加します。
インサーキットデバッガ。実際にマイコンを動かしながらデバッグできます。
使い方は簡単で、DebuggerとしてMPLAB ICD2を選択した後はMPLAB SIMと同様に扱えます。
>> MPLAB ICD2の使用方法
デバッグを行うためには、デバッグ情報が作成されている必要があります。これが作成されていないと、ブレークポイントを設定したときに次のようなエラーが表示されます。
One or more breakpoints could not be resolved. Select Breakpoints from the Debugger menu for details.
デバッグ情報を作成するには、プロジェクトウィンドウでデバッグを行うファイルのコンテキストメニューから[Build Options]を選択します。そして[Generate debugging information]の項目にチェックを入れます。
これはコンパイラオプションで「-g」を指定するのと同義です。

ファイルのビルドオプション

メニューの【View】から、以下で説明する各種のウィンドウを表示できます。


Watch

Special Function Registers

File Registers

Program Memory
Stopwatchによって、実行時間を測定することができます。
メニューの【Debugger → StopWatch】から表示します。
上段のInstruction Cyclesが命令サイクル、下段のTimeが実行時間になります。

なお実行時間は実行周波数によって決まりますので、先にそれを設定しておく必要があります。これはメニューの【Debugger → Settings】にあります。

メニューの【Debugger → Settings】からUart1 IOタブを選択し、[Enable Uart1 IO]にチェックを入れます。

デバッガでMPLAB SIMを選択したときにUARTの出力先が指定されていないと、Outputウィンドウに次のようなメッセージが表示されます。
UART-W0005: Uart is enabled but no output destination has been assigned. (File or Output Window)
Simulator SettingsのUart1 IOの設定画面において、Outputの項目でWindowかFileを指定します。

出力先にWindowが指定されるとOutputウィンドウにSIM Uart1タブが追加され、UARTからの出力がここに表示されます。

バッファがフルの状態で送信を試みると、Outputウィンドウでそれが通知されます。
UART-W0001: Write attempted to a Full FIFO buffer, data lost