---
schema_version: "1"
id: ecccdfdad59f35adf71262e9f996690b9eb18fb30b79b1408bc0d50ab6dad0f1
title: Mule アプリケーションのデバッグ
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/anypoint-code-builder/int-debug-mule-apps.md
canonical_url: https://docs.mulesoft.com/jp/anypoint-code-builder/int-debug-mule-apps
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 1843401f0daff84da6165f7d5e878db20fea0be8b0301108b9c46429bb19d0b9
description: MuleSoft Documentation Site
latest: true
---
# Mule アプリケーションのデバッグ

**進行中のベータリリース**​: **クラウド IDE は進行中のベータリリースです**​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。

Anypoint Code Builder の埋め込みデバッガーを使用して Mule アプリケーションをデバッグします。

Mule アプリケーションをデバッグするプロセスは、次のとおりです。

1. ​[ブレークポイントを設定](#add-breakpoint)​し、調査または修正を行う行でフローの実行を一時停止します。
    
    ブレークポイントは、開発している Mule アプリケーションの設定 XML ファイルの行番号に追加するマーカーです。
2. [アプリケーションをデバッグモードで実行します](#run-debug-mode)​。
3. Mule アプリケーションでフローの実行を開始します。
    
    たとえば、HTTP リスナーをトリガーしたり、Scheduler コンポーネントを設定したりします。
4. ブレークポイントで実行が停止したら、​[デバッグツールバー](#debug-toolbar)​を使用して、操作、調査、問題の修正を行います。
5. ブレークポイントで問題に対処したら、実行中のアプリケーションインスタンスを再デプロイ (​[ホットデプロイ](#hot-deploy)​) します。
6. フローを再度実行し、すべての問題に対処するまでデバッグを継続します。
7. [デバッグセッションを停止します](#stop-debug)​。

## [](#始める前に)始める前に

- [Web またはデスクトップ IDE をセットアップしてアクセスします](https://docs.mulesoft.com/jp/anypoint-code-builder/start-acb)​。
- [インテグレーションを作成します](https://docs.mulesoft.com/jp/anypoint-code-builder/int-create-integrations)​。

## [](#デバッグコンソールの概要)デバッグコンソールの概要

![デバッガービューの各要素](/mulesoft/current/ja-jp/anypoint-code-builder/_images/debugger-view.png)

<table>
<tbody><tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td><strong>[Start Debugging (デバッグを開始)]</strong>​: デバッグモードで Mule アプリケーションのインスタンスを開始します。</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td><strong>[Debug Toolbar (デバッグツールバー)]</strong>​: Mule アプリケーションのデバッグを制御します。
<div class="paragraph">
<p><a href="#debug-toolbar">デバッグツールバー</a>​を参照してください。</p>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
<td><strong>[Variables (変数)]</strong>​ パネル: Mule イベントとパラメーターデータを提供します。
<div class="paragraph">
<p>Mule イベントには、メッセージペイロードと属性の詳細のほか、Mule 変数データが含まれます。パラメーターには、コンポーネント名などのコンポーネントデータが含まれます。</p>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
<td><strong>[Run and Debug (実行およびデバッグ)]</strong>​ (MuleSoft) アイコン: <strong>[Run and Debug (実行およびデバッグ)]</strong>​ パネルを開きます。ここで、​<strong>[Start Debugging (デバッグを開始)] (F5)</strong>​ をクリックしてデバッグ情報を見つけることができます。
<div class="paragraph">
<p>キーボードショートカット: Cmd+Shift+d (Mac) または Ctrl+Shift+d (Windows)</p>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
<td><strong>[Watch (監視)]</strong>​ パネル: 変数と式を評価するのに役立ちます。</td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
<td><strong>[Call Stack (コールスタック)]</strong>​ パネル: 現在スタックしている関数またはプロシージャーを特定します。</td>
</tr>
<tr>
<td><i class="conum" data-value="7"></i><b>7</b></td>
<td><strong>[Breakpoints (ブレークポイント)]</strong>​ パネル: Mule アプリケーション内のすべてのブレークポイントをリストします。</td>
</tr>
<tr>
<td><i class="conum" data-value="8"></i><b>8</b></td>
<td><strong>[Terminal (ターミナル)]</strong>​ コンソール: Maven ビルドプロセスの出力と、埋め込み Mule Runtime Engine へのデプロイメントの結果を表示します。</td>
</tr>
<tr>
<td><i class="conum" data-value="9"></i><b>9</b></td>
<td><strong>[Breakpoint (ブレークポイント)]</strong>​ アイコン: 問題の確認と修正ができるようにフローの実行を一時停止する、設定 XML の行を特定します。</td>
</tr>
<tr>
<td><i class="conum" data-value="10"></i><b>10</b></td>
<td><strong>[Breakpoint (ブレークポイント)]</strong>​ アイコン: 1 つ以上のブレークポイントを含むコンポーネントを識別します。</td>
</tr>
</tbody></table>

## [](#add-breakpoint)ブレークポイントを追加する

ブレークポイントを使用すると、特定の場所で Mule アプリケーションを一時停止して、発生した内容を確認できます。ブレークポイントは、設定 XML ファイルまたはキャンバス UI のコンポーネントに追加できます。

### [](#設定ファイルにブレークポイントを追加する)設定ファイルにブレークポイントを追加する

設定 XML ファイルにブレークポイントを追加する手順は、次のとおりです。

1. Anypoint Code Builder の \[Explorer\] ビューで、​`my-project-name.xml`​ などの設定 XML ファイルを開きます。
2. \[Run and Debug (実行とデバッグ)\] パネルを開きます。
    
    手順を表示
    
    - アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**Run and Debug (実行とデバッグ)**​) アイコンをクリックする。
    - キーボードショートカットを使用する。
        
        - Mac: Cmd+Shift+d
        - Windows: Ctrl+Shift+d
    - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。
    - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。
3. `<flow-ref>`​ コンポーネント内の行番号をクリックして、そのコンポーネントにブレークポイントを追加します。
    
    ![行番号でブレークポイントを追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/deb-add-breakpoint.png)
    
    F9 を使用して現在の行にブレークポイントを追加することもできます。
4. 設定 XML ファイルで、​`<db:select>`​ コンポーネントと ​`<set-variable>`​ コンポーネント用の 2 つのブレークポイントをさらに追加します。
    
    すべてのブレークポイントは ​**\[Breakpoints (ブレークポイント)\]**​ パネルに表示されます。
    
    ![\[Breakpoints (ブレークポイント)\] パネル](_images/int-breakpoints-panel.png)

### [](#キャンバス-ui-のコンポーネントにブレークポイントを追加する)キャンバス UI のコンポーネントにブレークポイントを追加する

キャンバス UI のコンポーネントにブレークポイントを追加する手順は、次のとおりです。

1. Anypoint Code Builder の \[Explorer\] ビューで、​`flights-implementation.xml`​ などの設定 XML ファイルを開きます。
2. \[Run and Debug (実行とデバッグ)\] パネルを開きます。
    
    手順を表示
    
    - アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**Run and Debug (実行とデバッグ)**​) アイコンをクリックする。
    - キーボードショートカットを使用する。
        
        - Mac: Cmd+Shift+d
        - Windows: Ctrl+Shift+d
    - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。
    - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。
3. キャンバス UI で、ブレークポイントを追加するコンポーネントを右クリックします。
    
    ![キャンバス UI のコンポーネントにブレークポイントを追加](/mulesoft/current/ja-jp/anypoint-code-builder/_images/debug-add-breakpoint-canvas.png)
4. **\[Add Breakpoint (ブレークポイントを追加)\]**​ を選択します。
    
    ブレークポイントアイコンがコンポーネントとそのコンポーネントの設定 XML に表示されます。

## [](#run-debug-mode)デバッグモードでアプリケーションを実行する

デバッグ条件を設定したら、デバッグセッションを実行し、各ブレークポイントで Mule アプリケーションを評価します。

1. \[Run and Debug (実行とデバッグ)\] パネルを開きます。
    
    手順を表示
    
    - アクティビティバーの ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-run-debug.png)​ (​**Run and Debug (実行とデバッグ)**​) アイコンをクリックする。
    - キーボードショートカットを使用する。
        
        - Mac: Cmd+Shift+d
        - Windows: Ctrl+Shift+d
    - デスクトップ IDE で、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。
    - クラウド IDE で、​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-menu.png)​ (メニュー) アイコンをクリックし、​**\[View (表示)\]**​ > ​**\[Run (実行)\]**​ を選択する。
2. **\[Debug Mule Application (Mule アプリケーションをデバッグ)\]**​ の ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-start-debug.png)​ (​**Start Debugging (F5) (デバッグを開始 (F5))**​) アイコンをクリックします。
    
    または、​**\[Start Debugging (F5) (デバッグを開始 (F5))\]**​ アイコンが存在しない場合は、次の手順を実行します。
    
    1. **\[Run and Debug (実行とデバッグ)\]**​ をクリックします。
    2. **\[Select debugger (デバッガーを選択)\]**​ ドロップダウンメニューが表示された場合は、​**\[Mule XML Debugger (Mule XML デバッガー)\]**​ を選択してデバッグセッションを開始します。
        
        ![\[Run and Debug (実行とデバッグ)\] ボタンと \[Mule Xml Debugger (Mule XML デバッガー)\] メニュー項目](_images/run-debug-imported-folder.png)
        
        アプリケーションが正常にデプロイされると、出力パネルに ​`DEPLOYED`​ ログメッセージが表示されます。
        
        \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
        \*              - - + DOMAIN + - -               \* - - + STATUS + - - \*
        \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
        \* default                                       \* DEPLOYED           \*
        \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content"><strong>[Run (実行)]</strong>​ &gt; ​<strong>[Start without Debugging (デバッグなしで実行)]</strong>​ を選択すると、エラーが発生します。</td></tr></tbody></table>

Anypoint Code Builder でアプリケーションがパッケージ化され、埋め込み Mule Runtime Engine にデプロイされます。 ターミナルが開き、状況を参照できます。

![ターミナルウィンドウでのデバッグの状況](/mulesoft/current/ja-jp/anypoint-code-builder/_images/deb-terminal-running.png)

ターミナルにメッセージが表示されます。ステータスバーが赤に変わり、アプリケーションが実行中であることが示されます。

[デバッグツールバー](#debug-toolbar)​のボタンを使用して、Mule アプリケーションのデバッグを制御します。

## [](#debug-toolbar)デバッグツールバー

![デバッグツールバー](/mulesoft/current/ja-jp/anypoint-code-builder/_images/debugger-toolbar.png)

<table>
<tbody><tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td><strong>[Continue (続行)]</strong>​ F5
<div class="paragraph">
<p>次のブレークポイントがある場合、そのブレークポイントに進んでアプリケーションの実行を一時停止します。
ない場合、アプリケーションの最後まで続行します。</p>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td><strong>[Step Over (ステップオーバー)]</strong>​ F10
<div class="paragraph">
<p>フローの次のコンポーネントに進み、そこで実行を一時停止します。
Flow Ref コンポーネント (​<code>&lt;flow-ref/&gt;</code>​) で ​<strong>[Step Over (ステップオーバー)]</strong>​ をクリックすると、フローの次のステップに進みますが、参照先のフローへの Flow Ref ロジックに従う、つまり別のフローに進むことは​<em>ありません</em>​。</p>
</div>
<details>
<summary class="title">[Step Over (ステップオーバー)] の詳細</summary>
<div class="content">
<div class="paragraph">
<p><strong>設定 XML の例</strong>​:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;flow name="flow1" doc:name="Flow" &gt;
  &lt;http:listener path="greet" config-ref="HTTP_Listener_config" doc:name="Listener"/&gt;
  &lt;flow-ref name="myNewFlow" /&gt; <i class="conum" data-value="1"></i><b>(1)</b>
  &lt;logger doc:name="Logger1" message="test1"/&gt; <i class="conum" data-value="2"></i><b>(2)</b>
&lt;/flow&gt;

&lt;flow name="flow2" doc:name="Flow" &gt;
  &lt;logger doc:name="Logger2" message="test2"/&gt;
&lt;/flow&gt;</code></pre>
</div>
</div>
<div class="paragraph">
<p><strong>[Step Over (ステップオーバー)] の動作</strong>​:</p>
</div>
<div class="colist calloutlist">
<table>
<tbody><tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td><code>&lt;flow-ref/&gt;</code>​ ロジックをスキップする</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td><code>Logger1</code>​ という名前の ​<code>&lt;logger/&gt;</code>​ に達する</td>
</tr>
</tbody></table>
</div>
</div>
</details></td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
<td><strong>[Step Into (ステップイン)]</strong>​ F11
<div class="paragraph">
<p>フローの次のコンポーネントに進み、そこで実行を一時停止します。
Flow Ref コンポーネント (​<code>&lt;flow-ref/&gt;</code>​) で ​<strong>[Step Into (ステップイン)]</strong>​ をクリックすると、コンポーネントのロジックに従って、参照先のフローの最初のコンポーネントに進みます。フローのコンポーネントが Flow Ref コンポーネントの後に続く場合、​<strong>[Step Into (ステップイン)]</strong>​ では、参照先のフローの最後のコンポーネントの後にそのコンポーネントに戻ります。</p>
</div>
<details>
<summary class="title">[Step Into (ステップイン)] の詳細</summary>
<div class="content">
<div class="paragraph">
<p><strong>設定 XML の例</strong>​:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-xml hljs" data-lang="xml">&lt;flow name="flow1" doc:name="Flow" &gt;
  &lt;http:listener path="greet" config-ref="HTTP_Listener_config" doc:name="Listener"/&gt;
  &lt;flow-ref name="myNewFlow" /&gt; <i class="conum" data-value="1"></i><b>(1)</b>
  &lt;logger doc:name="Logger1" message="test1"/&gt; <i class="conum" data-value="3"></i><b>(3)</b>
&lt;/flow&gt;

&lt;flow name="myNewFlow" doc:name="Flow" &gt;
  &lt;logger doc:name="Logger2" message="test2"/&gt; <i class="conum" data-value="2"></i><b>(2)</b>
&lt;/flow&gt;</code></pre>
</div>
</div>
<div class="paragraph">
<p><strong>[Step Into (ステップイン)] の動作</strong>​:</p>
</div>
<div class="colist calloutlist">
<table>
<tbody><tr>
<td><i class="conum" data-value="1"></i><b>1</b></td>
<td><code>&lt;flow-ref/&gt;</code>​ に入り、​<code>myNewFlow</code>​ へのロジックに従う</td>
</tr>
<tr>
<td><i class="conum" data-value="2"></i><b>2</b></td>
<td>次のフロー ​<code>myNewFlow</code>​ の ​<code>Logger2</code>​ に達する</td>
</tr>
<tr>
<td><i class="conum" data-value="3"></i><b>3</b></td>
<td>フロー ​<code>flow1</code>​ に戻り、​<code>Logger1</code>​ に達する</td>
</tr>
</tbody></table>
</div>
</div>
</details></td>
</tr>
<tr>
<td><i class="conum" data-value="4"></i><b>4</b></td>
<td><strong>[Step Out (ステップアウト)]</strong>​ Shift+F11
<div class="paragraph">
<p>現在のフローを終了し、前のフローに戻ろうとします。前のフローが存在しない場合、デバッガーは ​<strong>[Continue (続行)]</strong>​ と同様に動作します。</p>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="5"></i><b>5</b></td>
<td><strong>[Restart (再起動)]</strong>​ Shift+Cmd+F5 (Mac) または Shift+Ctrl+F5 (Windows)
<div class="paragraph">
<p><code>pom.xml</code>​ ファイル内の新しいコネクタ連動関係など、新しい連動関係をパッケージ化せずにアプリケーションを停止して再起動します。</p>
</div></td>
</tr>
<tr>
<td><i class="conum" data-value="6"></i><b>6</b></td>
<td><strong>[Stop (停止)]</strong>​ Shift+F5
<div class="paragraph">
<p>アプリケーションの実行を停止します。開始する次のデバッグセッションでは、新しい連動関係でアプリケーションがパッケージ化されます。</p>
</div></td>
</tr>
</tbody></table>

## [](#hot-deploy)デバッグ時にホットデプロイを実行する

アプリケーションをデバッグしているときに、ホットデプロイメントを定期的に実行します。 ホットデプロイメントでは、実行中のアプリケーションインスタンスは更新されますが、​`pom.xml`​ 内の新しいコネクタ連動関係など、新しい連動関係はパッケージ化されません。

ホットデプロイを実行する手順は、次のとおりです。

1. Mule アプリケーションが IDE で実行されていることを確認します。
2. アプリケーションを更新します。
3. **\[Save and Hot-deploy to Mule Runtime (保存して Mule Runtime にホットデプロイ)\]**​ (稲妻) アイコンをクリックして、変更を含むアプリケーションをデプロイします。
    
    ![実行中の Mule アプリケーションの \[Hot-deploy (ホットデプロイ)\] (稲妻) アイコン](_images/deb-hot-deploy.png)

## [](#stop-debug)デバッグセッションの停止

デバッグセッションを停止するには、​**\[Run and Debug (実行およびデバッグ)\]**​ パネルで ​![](/mulesoft/current/ja-jp/anypoint-code-builder/_images/icon-stop.png)​ (​**\[Stop (停止)\]**​) アイコンをクリックします。

ステータスバーで、アプリケーションが実行中であることが示されなくなります。