Armadilloフォーラム

ABOSDEでgdbデバッグ環境に既存のファイルを転送する方法

shun

2025年1月22日 11時24分

==========
製品型番:Armadillo--610
Debian/ABOSバージョン:3.19.2-at.5
カーネルバージョン:5.10.220
その他:
==========

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

現在、ATDE上の[/usr/bin]下にあるファイルを、gdbデバッグ上の[/usr/bin]にコピーしたいと考えております。
ABOSDEでの"app.conf"に

add_volumes /usr/bin:/usr/bin

と追記してビルドしたところ、

atde9:~/Project$ ssh -F config/ssh_config Armadillo "podman exec -it test1  gdb /vol_app/build/main"
Error: crun: executable file `gdb` not found in $PATH: No such file or directory: OCI runtime attempted to invoke a command that was not found

というエラーが出てしまいgdbが実行できませんでした。

原因と解決方法をお教え願います。よろしくお願いいたします。

コメント

at_reika.yamazaki

2025年1月22日 14時12分

お世話になっております。山崎です。

まず、以下のエラーについてです。
>Error: crun: executable file `gdb` not found in $PATH: No such file or directory: OCI runtime attempted to invoke a command that was not found
こちらは、Armadillo 内の /usr/bin をコンテナ内にボリュームマウントしたため、gdb が見つからないというエラーになります。
そのため、使用中の gdb デバッグ中のコンテナイメージにコピーしたいファイルを含める必要があります。

一般的には Dockerfile を編集して、ローカルのファイルをコンテナ内に配置する方法なのですが、
ABOSDE では container/resources ディレクトリに配置されたファイルをコンテナ内に配置しているため、
こちらの方法をおすすめします。
手順としては、container/resources ディレクトリに、/usr/bin ディレクトリを作成します。
そのあと、container/resources/usr/bin ディレクトリに、コンテナの /usr/bin にコピーしたいファイルを置いてください。
配置後は「開発版 SWU を生成」から SWU イメージを生成し直して、Armadillo に適用してご使用ください。

以上、どうぞよろしくお願いいたします。