Armadilloフォーラム

Run and Debug画面からのデバッグ方法

shiroro

2025年9月3日 10時49分

==========
製品型番:AGX4520-C02D0
Debian/ABOSバージョン:3.21.3-at.13
カーネルバージョン:5.10.0-35-amd64
3G/LTE モジュール情報 (Debianのみ):
その他:
==========

お世話になっております。

以前、ABOSDEでデバッグ時にブレークポイントが使えないかどうか質問した際、その時点では使えないとご回答いただいたのですが、( https://armadillo.atmark-techno.com/forum/armadillo/20273
armadillo製品マニュアルの開発編( https://manual.atmark-techno.com/armadillo-900-development-kit/armadill… )の7.9.10を拝見すると、デバッグ時にブレークポイントが使えるようになっているようだったので、マニュアルを元にCREATE NEW PROJECTからSignageの新しいプロジェクトを作成し、今まで作成したSignageのプロジェクトの中身をそちらにコピーし、Flutterの設定画面のFlutter Sdk Pathsに/opt/flutter-elinux/flutter を入力、デバッグモードのアプリをATDEで実行し、Run and Debug画面で▷ボタンを押すと、「Device "flutter-tester" was not found」というポップアップが表示されます。

「flutter-tester」について調べてみましたが入手方法等が見つからなかったので、どのようにしたら設定ができるのかご教授いただければ幸いです。

コメント

佐藤です。

> 「flutter-tester」について調べてみましたが入手方法等が見つからなかったので、どのようにしたら設定ができるのかご教授いただければ幸いです。
ご迷惑をおかけして申し訳ありません。
ひとまず、以下のようにファイルを編集していただくとデバッグできるようになるかと思います。
プロジェクトディレクトリの下にある ".vscode/launch.json" というファイルを開いてください。

[ATDE9]$ cd <プロジェクトディクトリ>
[ATDE9]$ code .vscode/launch.json

ファイルを開きましたら

            "deviceId": "flutter-tester",

となっている箇所を

            "deviceId": "linux",

と変更してください。
その後、アプリを起動してデバッグをしてみていただけますでしょうか。

また、VSCode からでなくても、ブラウザ上からもデバッグが可能です。
アプリを起動しましたら、firefox を起動し
http://127.0.0.1:42771/
へアクセスしてみてください。
表示される画面の「Debugger」タブでブレークポイントを使用したデバッグができます。
(こちらのほうが簡単かもしれません)

ご回答ありがとうございます。
[ATDE9]$ code .vscode/launch.json を入力して、 "deviceId": "linux" に変更しました。
ちなみに、.vscode/launch.jsonの中身は下記のようになっています。

{
   "version": "0.2.0",
   "configurations": [
       {
           "name": "app",
           "request": "attach",
           "type": "dart",
           "deviceId": "linux",
           "cwd": "app",
           "vmServiceUri": "http://127.0.0.1:42771/"
       }
   ]
}

この状態でデバッグモードのアプリをATDEで実行した状態でRun and Debug画面で▷ボタンを押すと、「Device "flutter-tester" was not found」は出てこなくなったのですが、代わりに下記のエラー表示が出てきました。

/opt/flutter-elinux/flutter/packages/flutter/lib/src/cupertino/colors.dart:751:7: Error: The non-abstract class 'CupertinoDynamicColor' is missing implementations for these members:
 - Color.toARGB32
Try to either
 - provide an implementation,
 - inherit an implementation from a superclass or mixin,
 - mark the class as abstract, or
 - provide a 'noSuchMethod' implementation.
 
class CupertinoDynamicColor with Diagnosticable implements Color {
  	^^^^^^^^^^^^^^^^^^^^^
org-dartlang-sdk:///flutter/lib/ui/painting.dart:250:7: Context: 'Color.toARGB32' is defined here.
  int toARGB32() {
  	^^^^^^^^

内容としては、CupertinoDynamicColorクラスが見つからないというエラーのように見えます。

また、firefox からhttp://127.0.0.1:42771/ にアクセスすると、画面に

No DevTools instance is registered with the Dart Development Service (DDS).

という一文のみ表示されます。

こちらは Dart Development Serviceに登録されてないというメッセージのようです。

これらのエラーについて解消方法はありますでしょうか?

> 内容としては、CupertinoDynamicColorクラスが見つからないというエラーのように見えます。

申し訳ありません、 CupertinoDynamicColorクラスが見つからないという内容ではなく、 CupertinoDynamicColorクラスで「Color.toARGB32」が実装されていないという内容のようです。

佐藤です。

すいません。確認させてください。
アプリ自体はエラーもなく正常に起動していて
デバッグの▷ボタンを押すとエラーが表示されるということでしょうか。
エラーが表示されてアプリは強制終了するのでしょうか。

> アプリ自体はエラーもなく正常に起動していて
> デバッグの▷ボタンを押すとエラーが表示されるということでしょうか。
> エラーが表示されてアプリは強制終了するのでしょうか。

アプリ自体は正常に動いていて、▷ボタンを押すとエラーが表示されます。
エラーが表示されてもアプリは強制終了しません。

佐藤です。

ありがとうございます。
> アプリ自体は正常に動いていて、▷ボタンを押すとエラーが表示されます。
> エラーが表示されてもアプリは強制終了しません。
了解しました。

もう少し確認させてください。
プロジェクトを新規作成して、今まで作成したSignageのプロジェクトの中身をコピーしたとのことですが、
具体的にどのディレクトリをコピーしたのでしょうか。
"app"ディレクトリだけでしょうか、あるいは appディレクトリの中の
"lib"ディレクトリと"assets"ディレクトリと"pubspec.yaml"ファイルだけでしょうか。

> プロジェクトを新規作成して、今まで作成したSignageのプロジェクトの中身をコピーしたとのことですが、
> 具体的にどのディレクトリをコピーしたのでしょうか。
> "app"ディレクトリだけでしょうか、あるいは appディレクトリの中の
> "lib"ディレクトリと"assets"ディレクトリと"pubspec.yaml"ファイルだけでしょうか。

"app"ディレクトリをコピーしました。

ちなみに、ABOSDE EXPLORERのCreate New Projectで「Flutterの新しいプロジェクト」から新しくプロジェクトを作成して、
データをコピーせず"deviceId": "flutter-tester"を "deviceId": "linux"に変更する以外何も編集していない状態でデバッグをかけて▷ボタンを押しても同様のエラーが出てきました。

佐藤です。

ATDE9 上で以下のコマンドを実行するとどのように表示されますでしょうか。

[ATDE9]$ flutter-elinux --version

> ATDE9 上で以下のコマンドを実行するとどのように表示されますでしょうか。
> [ATDE9]$ flutter-elinux --version

以下のようになりました

atmark@atde9:~$ flutter-elinux --version
Flutter 3.27.1 • channel [user-branch] • unknown source
Framework • revision 17025dd882 (9 months ago) • 2024-12-17 03:23:09 +0900
Engine • revision cb4b5fff73
Tools • Dart 3.6.0 • DevTools 2.40.2

佐藤です。

>

> atmark@atde9:~$ flutter-elinux --version
> Flutter 3.27.1 • channel [user-branch] • unknown source
> Framework • revision 17025dd882 (9 months ago) • 2024-12-17 03:23:09 +0900
> Engine • revision cb4b5fff73
> Tools • Dart 3.6.0 • DevTools 2.40.2
> 

ありがとうございます。flutter-elinuxは最新バージョンですね。
念の為、以下のように再インストールしても現象変わらないでしょうか。

atmark@atde9:~$ sudo apt purge flutter-elinux
atmark@atde9:~$ sudo apt install flutter-elinux

> ちなみに、ABOSDE EXPLORERのCreate New Projectで「Flutterの新しいプロジェクト」から新しくプロジェクトを作成して、
> データをコピーせず"deviceId": "flutter-tester"を "deviceId": "linux"に変更する以外何も編集していない状態でデバッグをかけて▷ボタンを押しても同様のエラーが出てきました。
こちらでも上記を同様にやってみたのですがエラーは表示されませんでした。
このエラーはどこに表示されているのでしょうか。
vscode のターミナルでしょうか。

> 念の為、以下のように再インストールしても現象変わらないでしょうか。

再インストールしてみましたが、エラーが出る現象は変わりませんでした。

> このエラーはどこに表示されているのでしょうか。
> vscode のターミナルでしょうか。

ターミナルではなくデバッグコンソールに表示されます。

佐藤です。

> ターミナルではなくデバッグコンソールに表示されます。
承知しました。エラーは出ていてもアプリは起動しているとのことですが、
デバッガの機能(ステップ実行など)は問題なく使えてるのでしょうか。

> また、firefox からhttp://127.0.0.1:42771/ にアクセスすると、画面に
すいません。訂正します。
http://127.0.0.1:9101?uri=http://127.0.0.1:42771/
にアクセスしてみてもらえますでしょうか。