SlideShare a Scribd company logo
LabVIEW NXG Training Course
Session3 - トラブルシュートとデバッグ
Yusuke Tochigi
NXG 5.0 Version
LabVIEW NXG Training Course 2
デバッグ
ソフトウェアを開発していると、コンパイルができない、アプリケーションの実行結果が予期
したものと異なる、など様々な問題が発生します。
LabVIEW NXG では開発中の問題を解決する機能、アプリケーションの予期しない動
作を特定する機能が存在しています。このセッションではこれらについてご紹介します。
LabVIEW NXG Training Course 3
コードの実行不可能の原因
LabVIEW NXG はコンパイル言語で、実行前にはコンパイルが必要です。明示的にコ
ンパイラを起動する必要はなく、実行によって自動的にコンパイルは行われます。
コーディングの間違いのためにコンパイルができない状況では、 LabVIEW NXG の実行
ボタンは壊れ、コードは実行不可能な状態になります。
LabVIEW NXG Training Course 4
実行ボタンの修正
実行ボタンを修正するためには、以下のポイントを確認します
●
エクスクラメーションマーク
問題のある関数 / ワイヤ上には、赤いエクスクラメーションマークが表示されます。これによ
り、ダイアグラムを見るだけで、問題のある個所が容易に確認できます。
●
エラーと警告タブ
赤いエクスクラメーションマークをダブルクリックまたは、壊れた実行ボタンを押すとこのタブが
表示されます。エラーの重大度 / ソース / メッセージを表示します。エラーをダブルクリックす
ると、該当箇所がハイライト表示されます。
LabVIEW NXG Training Course 5
端子の警告
LabVIEW NXG では、未配置の項目に不要な端子をしまうことができます。よって使
用されない端子はダイアグラム上に配置すべきではありません。この時端子の左上に下
図マークが表示され、エラーと警告タブに警告が表示されます。
LabVIEW NXG Training Course 6
実行のハイライト
ここからは、アプリケーションの実行結果が予期したものと異なる場合のデバッグ方法をご
紹介します。
実行のハイライト
コードの実行速度を低下させ、ワイヤ上を移動するデータポイントを表示し、各ノードが
受信するデータを表示します。データフローを可視化することで、処理の順序やノードが
受信するデータなどが確認できます。
LabVIEW NXG Training Course 7
プローブ
プローブ
実行速度を下げず特定のデータ値を監視する場合、プローブを使用します。ワイヤを右
クリックしてプローブを追加から、プローブを作成します。プローブに表示されるデータは常
に最新値で、値が更新されるまでその値は保持されます。
プローブはダイアグラム上のプローブ番号にマウスカーソルを合わせるか、デバッグタブで確
認できます。
LabVIEW NXG Training Course 8
ブレークポイント
ブレークポイント
ブレークポイントを設定することで、その位置で VI の実行を一時停止することができま
す。例えばコードの問題を特定する際、ある位置から先のみをハイライト実行で確認した
い場合などに有効です。
ワイヤまたは関数上で右クリックし、ブレークポイントを追加を選択することで、ブレークポ
イントを設定できます。再開ボタンをクリックすることで、一時停止は解除されます。
LabVIEW NXG Training Course 9
シングルステップ実行
シングルステップ実行は、ノードを 1 つずつ実行でき、そのノードが実行を終了するまで
VI は一時停止します。これらはデバッグタブからアクセスできます。
●
中に入る ( 左 )
ノードがサブ VI の場合、サブ VI を開いて一時停止します。
●
外に出る ( 中央 )
現在のダイアグラム / サブダイアグラムの実行を終了して一時停止します。
●
飛び越える ( 右 )
ノードの中に入らずノードを実行し、次のノードで一時停止します。
LabVIEW NXG Training Course 10
前回実行のワイヤデータを保持する
ワイヤ値を保持することで、プローブは VI の実行終了後でも最新データを表示します。
これにより、 VI の実行後にワイヤデータを確認して、エラーの発生個所を特定する際に
役立ちます。
LabVIEW NXG Training Course 11
ランタイムエラーの発生
実行中に問題が発生した場合、 LabVIEW NXG はエラーを発生します。 LabVIEW
NXG ではエラーを取り扱うデータタイプが存在します。
エラーデータは以下の 3 要素から成るクラスタで、ワイヤは黄色です。
●
ステータス
エラーが発生した場合は TRUE 、それ以外は FALSE になります
コード
発生したエラーコードを返します。エラーなしは 0 で、ステータスが FALSE であってもコー
ドが 0 でなければ警告となります
●
ソース
エラーの詳細について返します。
LabVIEW NXG Training Course 12
未処理のランタイムエラー
設定において新規のプロジェクトに対する未処理のランタイムエラー通知を有効にす
るが有効の場合、エラー処理がされていない場合、エラーが発生した関数で実行を停
止し、エラー情報を伝えるポップアップを表示します。実行を強制的に停止するため終了
処理が実行されないなど、予期せぬ動作を引き起こしうるので注意が必要です。
LabVIEW NXG Training Course 13
ランタイムエラーの処理
正しいエラー処理は、関数間でエラーワイヤを配線し、最後にエラーを表示関数でエラ
ー情報をポップアップするようコードを実装します。エラーの入出力はほとんどの関数に備
わっています。
ステータスが TRUE であればエラーとなり、ステータスが FALSE であってもコードが 0 で
なければ警告となります。

More Related Content

PDF
Session5 - LabVIEW NXG Training Course
PDF
Session8 - LabVIEW NXG Training Course
PDF
Session1 - LabVIEW NXG Training Course
PDF
LabVIEW NXG Current Status @ 2020
PDF
Session9 - LabVIEW NXG Training Course
PDF
Session11 - LabVIEW NXG Training Course
PDF
Intro - LabVIEW NXG Training Course
PDF
LabVIEW NXG Web Module Training Slide
Session5 - LabVIEW NXG Training Course
Session8 - LabVIEW NXG Training Course
Session1 - LabVIEW NXG Training Course
LabVIEW NXG Current Status @ 2020
Session9 - LabVIEW NXG Training Course
Session11 - LabVIEW NXG Training Course
Intro - LabVIEW NXG Training Course
LabVIEW NXG Web Module Training Slide

What's hot (20)

PDF
LabVIEW NXG OOP Training
PDF
jenkinsで遊ぶ
PPTX
Jenkins と groovy
PDF
Jenkinsを用いたAndroidアプリビルド作業効率化
PPTX
Bat vb script_power_shellの単体テスト自動化
PDF
Visual studio 2013 debugging
PDF
Laravel 5.1 LTSでサービスを作る
KEY
Androidリリース作業の効率化(2)
ODP
Jenkins導入ライブ
PDF
pytest × TDD テスト駆動開発のススメ
PPTX
Pythonを中心としたチーム開発
PDF
【BS2】.NET 6 最新アップデート
PDF
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
PDF
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
PPTX
nGrinder3 : だれもが簡単にできる性能テスト
PPTX
今日から始めるLaravel
PPTX
少し分かった気になるテスト駆動開発
PDF
phpspecで始めるBDD
PDF
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
PPTX
HelloMC_プラグイン制作講座
LabVIEW NXG OOP Training
jenkinsで遊ぶ
Jenkins と groovy
Jenkinsを用いたAndroidアプリビルド作業効率化
Bat vb script_power_shellの単体テスト自動化
Visual studio 2013 debugging
Laravel 5.1 LTSでサービスを作る
Androidリリース作業の効率化(2)
Jenkins導入ライブ
pytest × TDD テスト駆動開発のススメ
Pythonを中心としたチーム開発
【BS2】.NET 6 最新アップデート
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
nGrinder3 : だれもが簡単にできる性能テスト
今日から始めるLaravel
少し分かった気になるテスト駆動開発
phpspecで始めるBDD
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
HelloMC_プラグイン制作講座
Ad

Similar to Session3 - LabVIEW NXG Training Course (20)

PPTX
ソフトウェア・テスト入門7
PPTX
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
PPTX
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
PDF
Kobe sec#7 summary
PDF
Bluemixの基本を知る -仕組みと使い方-
PDF
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
PDF
JavaOne2013報告会 JavaFX Update
PDF
XP祭り2013-LT-Codeer
PDF
iOSアプリケーションの Unit Test
PPTX
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
PDF
Jenkins+Play!で気軽にCI
PPTX
落ちないアプリ開発の仕組み
PDF
LightSwitch で遊んでみた Rev. 2
PPTX
新しい Visual Studio & .NET と新時代のアーキテクチャ
PDF
【Agile Conference tokyo 2011】 継続的フィードバック
PDF
coma - creator’s talk session: Code - openFrameworks
PPTX
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
PDF
Unity&monodevelopでブレークポイント
KEY
初心者向けAndroidゲーム開発ノウハウ
PDF
220523JS7.pdf
ソフトウェア・テスト入門7
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Kobe sec#7 summary
Bluemixの基本を知る -仕組みと使い方-
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
JavaOne2013報告会 JavaFX Update
XP祭り2013-LT-Codeer
iOSアプリケーションの Unit Test
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
Jenkins+Play!で気軽にCI
落ちないアプリ開発の仕組み
LightSwitch で遊んでみた Rev. 2
新しい Visual Studio & .NET と新時代のアーキテクチャ
【Agile Conference tokyo 2011】 継続的フィードバック
coma - creator’s talk session: Code - openFrameworks
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
Unity&monodevelopでブレークポイント
初心者向けAndroidゲーム開発ノウハウ
220523JS7.pdf
Ad

More from Yusuke Tochigi (7)

PDF
Test Driven Development in LabVIEW
PDF
Session7 - LabVIEW NXG Training Course
PDF
Session10 - LabVIEW NXG Training Course
PDF
Session6 - LabVIEW NXG Training Course
PDF
Session4 - LabVIEW NXG Training Cours
PDF
Session2 - LabVIEW NXG Training Course
PDF
Automotive QMS IATF16949
Test Driven Development in LabVIEW
Session7 - LabVIEW NXG Training Course
Session10 - LabVIEW NXG Training Course
Session6 - LabVIEW NXG Training Course
Session4 - LabVIEW NXG Training Cours
Session2 - LabVIEW NXG Training Course
Automotive QMS IATF16949

Session3 - LabVIEW NXG Training Course

  • 1. LabVIEW NXG Training Course Session3 - トラブルシュートとデバッグ Yusuke Tochigi NXG 5.0 Version
  • 2. LabVIEW NXG Training Course 2 デバッグ ソフトウェアを開発していると、コンパイルができない、アプリケーションの実行結果が予期 したものと異なる、など様々な問題が発生します。 LabVIEW NXG では開発中の問題を解決する機能、アプリケーションの予期しない動 作を特定する機能が存在しています。このセッションではこれらについてご紹介します。
  • 3. LabVIEW NXG Training Course 3 コードの実行不可能の原因 LabVIEW NXG はコンパイル言語で、実行前にはコンパイルが必要です。明示的にコ ンパイラを起動する必要はなく、実行によって自動的にコンパイルは行われます。 コーディングの間違いのためにコンパイルができない状況では、 LabVIEW NXG の実行 ボタンは壊れ、コードは実行不可能な状態になります。
  • 4. LabVIEW NXG Training Course 4 実行ボタンの修正 実行ボタンを修正するためには、以下のポイントを確認します ● エクスクラメーションマーク 問題のある関数 / ワイヤ上には、赤いエクスクラメーションマークが表示されます。これによ り、ダイアグラムを見るだけで、問題のある個所が容易に確認できます。 ● エラーと警告タブ 赤いエクスクラメーションマークをダブルクリックまたは、壊れた実行ボタンを押すとこのタブが 表示されます。エラーの重大度 / ソース / メッセージを表示します。エラーをダブルクリックす ると、該当箇所がハイライト表示されます。
  • 5. LabVIEW NXG Training Course 5 端子の警告 LabVIEW NXG では、未配置の項目に不要な端子をしまうことができます。よって使 用されない端子はダイアグラム上に配置すべきではありません。この時端子の左上に下 図マークが表示され、エラーと警告タブに警告が表示されます。
  • 6. LabVIEW NXG Training Course 6 実行のハイライト ここからは、アプリケーションの実行結果が予期したものと異なる場合のデバッグ方法をご 紹介します。 実行のハイライト コードの実行速度を低下させ、ワイヤ上を移動するデータポイントを表示し、各ノードが 受信するデータを表示します。データフローを可視化することで、処理の順序やノードが 受信するデータなどが確認できます。
  • 7. LabVIEW NXG Training Course 7 プローブ プローブ 実行速度を下げず特定のデータ値を監視する場合、プローブを使用します。ワイヤを右 クリックしてプローブを追加から、プローブを作成します。プローブに表示されるデータは常 に最新値で、値が更新されるまでその値は保持されます。 プローブはダイアグラム上のプローブ番号にマウスカーソルを合わせるか、デバッグタブで確 認できます。
  • 8. LabVIEW NXG Training Course 8 ブレークポイント ブレークポイント ブレークポイントを設定することで、その位置で VI の実行を一時停止することができま す。例えばコードの問題を特定する際、ある位置から先のみをハイライト実行で確認した い場合などに有効です。 ワイヤまたは関数上で右クリックし、ブレークポイントを追加を選択することで、ブレークポ イントを設定できます。再開ボタンをクリックすることで、一時停止は解除されます。
  • 9. LabVIEW NXG Training Course 9 シングルステップ実行 シングルステップ実行は、ノードを 1 つずつ実行でき、そのノードが実行を終了するまで VI は一時停止します。これらはデバッグタブからアクセスできます。 ● 中に入る ( 左 ) ノードがサブ VI の場合、サブ VI を開いて一時停止します。 ● 外に出る ( 中央 ) 現在のダイアグラム / サブダイアグラムの実行を終了して一時停止します。 ● 飛び越える ( 右 ) ノードの中に入らずノードを実行し、次のノードで一時停止します。
  • 10. LabVIEW NXG Training Course 10 前回実行のワイヤデータを保持する ワイヤ値を保持することで、プローブは VI の実行終了後でも最新データを表示します。 これにより、 VI の実行後にワイヤデータを確認して、エラーの発生個所を特定する際に 役立ちます。
  • 11. LabVIEW NXG Training Course 11 ランタイムエラーの発生 実行中に問題が発生した場合、 LabVIEW NXG はエラーを発生します。 LabVIEW NXG ではエラーを取り扱うデータタイプが存在します。 エラーデータは以下の 3 要素から成るクラスタで、ワイヤは黄色です。 ● ステータス エラーが発生した場合は TRUE 、それ以外は FALSE になります コード 発生したエラーコードを返します。エラーなしは 0 で、ステータスが FALSE であってもコー ドが 0 でなければ警告となります ● ソース エラーの詳細について返します。
  • 12. LabVIEW NXG Training Course 12 未処理のランタイムエラー 設定において新規のプロジェクトに対する未処理のランタイムエラー通知を有効にす るが有効の場合、エラー処理がされていない場合、エラーが発生した関数で実行を停 止し、エラー情報を伝えるポップアップを表示します。実行を強制的に停止するため終了 処理が実行されないなど、予期せぬ動作を引き起こしうるので注意が必要です。
  • 13. LabVIEW NXG Training Course 13 ランタイムエラーの処理 正しいエラー処理は、関数間でエラーワイヤを配線し、最後にエラーを表示関数でエラ ー情報をポップアップするようコードを実装します。エラーの入出力はほとんどの関数に備 わっています。 ステータスが TRUE であればエラーとなり、ステータスが FALSE であってもコードが 0 で なければ警告となります。