質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Lua

Luaは、汎用のスクリプト言語の一つで、 移植性が高く、高速な実行速度などの特徴を持ち 手続き型・オブジェクト指向言語としても利用可能で 関数型言語、データ駆動型の要素も併せ持っている言語です。

Q&A

解決済

1回答

8578閲覧

VScodeでLuaのデバッグを行うには一体どうすればいいですか?

okurage

総合スコア26

Lua

Luaは、汎用のスクリプト言語の一つで、 移植性が高く、高速な実行速度などの特徴を持ち 手続き型・オブジェクト指向言語としても利用可能で 関数型言語、データ駆動型の要素も併せ持っている言語です。

0グッド

0クリップ

投稿2019/09/08 05:04

前提・実現したいこと

恐れ入ります。

luaのデバッグ方法に関して質問があります。
不勉強で恐縮ですが、ご意見をいただけると幸いに存じます。

結論

VScodeでのLuaのデバッグ方法について教えていただけないでしょうか?

経緯・試したこと

Luaについて調べていたところ、こちらのサイトを見つけました。
スクリプト開発を始めるには? - aviutl-script

VScodeを導入し、下記の手順でデバッグを行ってみました。

  1. ↓の拡張機能を追加

Lua Debug - Visual Studio Marketplace

  1. ~/Documents/Luascript/.vscode/sample.luaに下記のソースコードを記述

  2. VScodeでF5キーを押し、デバッグを実行

結果:出力されない
詳細:

  • attach:処理が終わらない
  • launch:デバッグコンソールにNo such file or directory
  • launch process:デバッグコンソールにNo such file or directory

4.「print()はできない」「しかしConsolePluginを入れればその限りではない」と教えてもらい、調べ直してみたが、ConsolePluginの導入で躓く

結果:「Select an angular.josn file」がわからない
詳細:

  • 試しにlaunch.jsonを選んでみたが、うまくいかない
  • 「拡張機能のホストが予期せずに終了しました」と表示される

ソースコード

lua

1x = "hello world" 2print(x)

発生している問題・エラーメッセージ

  1. VScodeでLuaのデバッグができない
  2. ConsolePluginの導入方法がわからない
【デバッグコンソール】 /Users/username/.vscode/extensions/actboy168.lua-debug-1.12.1/runtime/macos/lua53/lua: cannot open .lua: No such file or directory
【ターミナル】 iMac:Luascript User$ lua sample.lua lua: cannot open sample.lua: No such file or directory

参考にしたページ

これでprintデバッグから卒業!VS CodeでPythonデバッグ入門 - karaage. [からあげ]

備考:上記のページを真似たらPythonではできました

Using angular console plugin in vs code - Stack Overflow

補足情報(FW/ツールのバージョンなど)

Mac OS X:High Sierra
OSバージョン:10.13.6
Model Identifier: iMac12,1
Processor Name: Intel Core i5
Processor Speed: 2.5 GHz
Memory: 4 GB
Visual Studio Code
バージョン:1.38.0
Lua 5.3.5 Copyright (C) 1994-2018 Lua.org, PUC-Rio

最後に

独学で日も浅いため、恐らく基本的なところを見落としてしまっているのだと思います。
しかし、調べ直すにしてもどこから手をつけていいのかがわからず、こちらにて質問させていただきました。
このような質問でお手数おかけしてしまい図々しいとは存じますが、ご回答をいただけると大変ありがたく思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

1と2の間にbuildが必要と思います。
extentionのホームページ(1のurl)のbuildを見て下さい。

投稿2019/09/08 23:22

oikashinoa

総合スコア2826

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

okurage

2019/09/09 02:11

ご説明とご回答ありがとうございます。 早速試してみたのですが、またわからない事にぶつかってしまいました。 厚かましいかと存じますが、もう少しだけ解説していただけないでしょうか? 【わからない事】 extentionのホームページ(1のurl)のbuild欄にある下記の部分 --- 2,「Build luamake」 3,「Open repo in VSCode」 --- これらのリンク先をそれぞれ確認してみたのですが、どこで何をすれば良いのかが分かりませんでした。 例えば、2,luamakeのBuild欄には「msvc tools\ninja.exe -f ninja\msvc.ninja」「install ninja」「ninja -f ninja/macos.ninja」といった記載があるのですが、試しにターミナルにペーストしてみても「command not found」となってしまいます。 3,についても同様で、VScodeで何をすれば良いのかが分かりません。(「有効にする」という事でしょうか?) 「buildもrepoも初めて知った自分にはまだ早いのだろう」というのは承知の上なのですが、luaでスクリプトを作ってみたいと思っています。 差し支えなければ、今回のbuild手順に関してもう少し教えていただけないでしょうか?
oikashinoa

2019/09/09 14:18 編集

こちらlinux環境なのとluaは触ったことないので、少し調べた程度です。 3,「Open repo in VSCode」 環境が出来上がったら、vscodeでフォルダごと開けば使えるはずです。 MacOSを使っているとのことなので brew install ninjaでインストール出来ると思います。 ninja -f ninja/macos.ninja 実行で行けると思います。 コチラ試しようがないので、念の為自身でも調べてからお試しください。
okurage

2019/09/10 03:00 編集

何度もありがとうございます。 また、わざわざ調べてくださり本当に感謝しています。 重ね重ね、お礼申し上げます。 ここまでよくしていただいた上で本当に心苦しいのですが、最後にもう一回だけ質問させていただけないでしょうか? これでダメなら今回は早すぎたという事で諦めます。 【質問】 「ninja -f ninja/macos.ninjaのエラーについて」 お陰様で「install ninja」には成功しました。 しかし、「ninja -f ninja/macos.ninja」を実行すると、下記のエラーが発生します。 ninjaやエラーメッセージで検索しても有力な情報が得られません。 --- $ pwd ~/Documents/Luascript/luamake-master $ ninja -f ninja/macos.ninja [0/3] cd 3rd/bee.lua && ninja -f ninja/macos.ninja ninja: error: loading 'ninja/macos.ninja': No such file or directory FAILED: build/macos/_/bee cd 3rd/bee.lua && ninja -f ninja/macos.ninja ninja: build stopped: subcommand failed. --- ・「ninja: error: loading 'ninja/macos.ninja': No such file or directory」とありますが、'ninja/macos.ninja'のパスは次のようになっています。「~/Documents/Luascript/luamake-master/ninja/macos.ninja」 ・ディレクトリの中身は、以下の通りです。 iMac:luamake-master$ tree . ├── 3rd │   └── bee.lua ├── LICENSE ├── README.md ├── build │   └── macos │   └── _ ├── main.lua ├── make.lua ├── ninja │   ├── linux.ninja │   ├── macos.ninja │   ├── mingw.ninja │   └── msvc.ninja ├── scripts │   ├── command │   │   ├── clean.lua │   │   ├── init.lua │   │   ├── lua.lua │   │   ├── make.lua │   │   ├── rebuild.lua │   │   └── remake.lua │   ├── compiler │   │   ├── cl.lua │   │   ├── clang.lua │   │   └── gcc.lua │   ├── lua_def.lua │   ├── lua_library.lua │   ├── luamake.lua │   ├── memfile.lua │   ├── msvc.lua │   ├── msvc_helper.lua │   ├── ninja_syntax.lua │   ├── sandbox.lua │   ├── simulator.lua │   └── util.lua ├── tools │   ├── lua53 │   │   ├── lauxlib.h │   │   ├── lua.h │   │   ├── lua.hpp │   │   ├── luaconf.h │   │   └── lualib.h │   ├── lua54 │   │   ├── lauxlib.h │   │   ├── lua.h │   │   ├── lua.hpp │   │   ├── luaconf.h │   │   └── lualib.h │   └── ninja.exe └── update.bat 12 directories, 39 files
oikashinoa

2019/09/10 06:01 編集

--- $ pwd ~/Documents/Luascript/luamake-master に居て、 以下を実行したけど ninja -f ninja/macos.ninja 以下エラーが出るんですよね? ninja: error: loading 'ninja/macos.ninja': No such file or directory cd 3rd/bee.lua && ninja -f ninja/macos.ninja cd 3rd/bee.luaした時にいるdirectoryで ninja/macos.ninjaを指定しても階層違うからファイル見つかんないのでは? ?3rd/bee.luaってファイル? 多分すごく単純な事で詰まっているだけです。もう少し頑張ってみましょう
okurage

2019/09/10 08:22

優しいお言葉をありがとうございます。 自分もできれば諦めたくはないので、もう少し頑張らせて頂きます。 未熟で心苦しい限りですが、差し支えなければ今回のようにご意見をいただけるとありがたいです。 参考までに、いくつかお答えさせて頂きます。 >$ pwd〜以下エラーが出るんですよね? はい、その通りです。 >cd 3rd/bee.lua && ninja -f ninja/macos.ninja〜見つかんないのでは? 「cd 3rd/bee.lua && ninja -f ninja/macos.ninja」は、「ninja -f ninja/macos.ninja」を実行した時に自動で表示されます。 [0/3]〜「subcommand failed.」の記述は、コマンドの実行に伴って表示されたものです。 試しに「ninja」ディレクトリ以下を「3rd/bee.lua」にコピーしてみましたが、やはり同様の結果となります。 また、今気づいたのですが、ninja -fコマンドによって「build」ディレクトリ以下が作成されるようです。 「build」ディレクトリ以下の構成は次の通りです。 $ tree -a -N . ├── .DS_Store └── macos ├── .DS_Store ├── .ninja_deps ├── .ninja_log └── _ └── .DS_Store >?3rd/bee.luaってファイル? いいえ、ディレクトリです。 Finderで見ると「種類:フォルダ、 サイズ:0バイト」となっています。 コマンドについてもう少し調べてみようと思います。
oikashinoa

2019/09/10 13:58

こちらもGitからファイルを落として試してみました。 $ pwd ~/Desktop/1/luamake-master $ ninja -f ninja/macos.ninja log: ninja version 0.1.3 initializing die: error: must run as root $ sudo ninja -f ninja/macos.ninja log: ninja version 0.1.3 initializing log: magic group: gid=0 (root) log: entering main loop log: generating initial pid array.. log: now monitoring process activity ... と処理は進みます。Linux版のBuildも同様に進みました。(途中で打ち切りましたのでファイルが出来るのかまで見てません) $ pwd ~/Documents/Luascript/luamake-master $ ls -l ninja/macos.ninja ↑を実行してninjaフォルダにmacos.ninjaが有ることを確かめてみましょう。 - ninja: error: loading 'ninja/macos.ninja': No such file or directory 'ninja/macos.ninja'なんてファイルやフォルダ無いよってエラーです。 …tree結果見る限りファイル有りますよね。でも念の為実行して裏付けとりましょう。 改善しないなら再度Gitからダウンロードして別フォルダに展開>再度Buildしてみて下さい。
okurage

2019/09/11 04:25

いつもありがとうございます。 また、ご意見だけでなく検証までして頂き、お礼の言葉もありません。 こちらでの検証結果を報告させて頂きます。 結論:失敗 1,ninjaフォルダにmacos.ninjaが有ることを確認 【手順】pwd、lsコマンドを実行。メッセージを確認 【結果】 $ pwd ~/Documents/Luascript/luamake-master $ ls -l ninja/macos.ninja -rwxr-xr-x@ 1 user staff 454 8 16 00:51 ninja/macos.ninja 【補足】 ・フォルダのアクセス権を所有者に変更しても効果なし ・「test -f」コマンドでファイルの有無を確認してみると、下記のような結果が返ってきた。 --- $ test -f ninja/macos.ninja; echo $? 0 $ test -e ninja/macos.ninja; echo $? 0 --- 2,再度Gitからダウンロードして別フォルダに展開>再度Build 【手順】 ・VScodeで「Lua Debug」と「extensionPath」拡張機能を一旦アンインストール ・次のページのBuild欄の手順に従い、拡張機能を再インストール https://marketplace.visualstudio.com/items?itemName=actboy168.lua-debug ・「Build luamake」からGitHubに移動。「Clone or download」で「Download ZIP」、「luamake-master.zip」をダウンロード ・「luamake-master.zip」をホームフォルダに展開 (~/luamake-master) ・「install ninja」を実行 (~/luamake-master/ninja/macos.ninja) ・「ninja -f ninja/macos.ninja」を実行 (変化なし、前回までと同じエラーが表示される) 【補足】 ・デスクトップや他の場所で展開しても変化なし 【総括】 ここまで手を尽くしていただいているにも関わらず、良い報告ができずに情けない限りです。 testコマンドを試してみたのですが、結果には「通常ファイルとして存在する」と出ています。 Requirementsを見直してみてもLua 5.3.5とMacOSで問題は見当たりません。 今度はそもそものLuaやVScodeのインストール時に問題がなかったか調べてみます。 長引いてしまい申し訳ありませんが、目を通していただけるとありがたいです。
okurage

2019/09/12 03:52

いつもありがとうございます。 luaの再インストールを試みましたので、結果を報告させて頂きます。 【結論】 失敗 ・以下を全て試した後に、「ninja -f ninja/macos.ninja」を実行しましたが、変化はありませんでした 【手順】 下記のページを参考に再インストール 1,https://sioyaki.com/entry/2016/10/04/163505 2,http://nakanohito.hatenadiary.jp/entry/2015/04/06/084144 3,https://nobu19800.github.io/RTM-Lua/docs/Mac.html 4,https://www.lua.org/download.html 【結果】 1,「$ brew install lua」を実行すると、「Warning: lua 5.3.5_1 is already installed and up-to-date To reinstall 5.3.5_1, run `brew reinstall lua`」と表示される 「$ brew reinstall lua」を実行すると、次のメッセージが表示される iMac:luamake-master$ brew reinstall lua ==> Reinstalling lua ==> Downloading https://homebrew.bintray.com/bottles/lua-5.3.5_1.high_sierra.bot Already downloaded: ~/Library/Caches/Homebrew/downloads/d829df9cb7ee456f6d3e9d45bfafe5816030407dfa09f9b69f258e87d9dff7a0--lua-5.3.5_1.high_sierra.bottle.tar.gz ==> Pouring lua-5.3.5_1.high_sierra.bottle.tar.gz ==> Caveats You may also want luarocks: brew install luarocks ==> Summary ???? /usr/local/Cellar/lua/5.3.5_1: 28 files, 274.6KB 2,「Luaのインストール」欄には「Rudixのページに飛び、自分の使っているOS Xに合った.pkgファイルをダウンロードする」とあります。 しかしhttps://rudix.org/にはHigh Sierra用のpkgがありませんでした。 3,「サンプルコンポーネントの実行」欄にて、「以下のコマンドの出力結果をコマンドで入力して実行してください」と書かれているのですが、この「コマンドで入力して実行」の部分がわからず、確認できませんでした。 出力結果には、「export LUA_PATH='~/.luarocks/share/lua/5.3/?.lua;/Users/ username/.luarocks/share/lua/5.3/?/init.lua;/usr/local/share/lua/5.3/?.lua;/usr/local/share/lua/5.3/?/init.lua;/usr/local/Cellar/luarocks/3.1.3/share/lua/5.3/?.lua;/usr/local/lib/lua/5.3/?.lua;/usr/local/lib/lua/5.3/?/init.lua;./?.lua;./?/init.lua' export LUA_CPATH='~/.luarocks/lib/lua/5.3/?.so;/usr/local/lib/lua/5.3/?.so;/usr/local/lib/lua/5.3/loadall.so;./?.so' export PATH='~/.luarocks/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin'」 と表示されているのですが、これをどうすれば良いのでしょうか? ・この手順が不完全なためか、次の「$ lua-5.3 ConsoleIn.lua」と入力しても「lua-5.3: cannot open ConsoleIn.lua: No such file or directory」となってしまいます 4,「Building」欄の通りに行い、特にエラーは発生しませんでした ・https://www.lua.org/ftp/を確認すると、lua-5.3.5が最新のようです 進展がなくて申し訳ありません。 【追記】 この問題とは関係の薄い質問で恐縮なのですが、oikashinoaさんはプログラミングをどうやって勉強してきたのでしょうか? 今後こういった問題に対処できるようになりたいので、差し支えなければ参考にさせていただけるとありがたいです。
oikashinoa

2019/09/12 13:56 編集

virtualboxとかで他の環境を作って見るかですね。 で、作るならlua の実績が多い方を調べてみてください(windows,linux どっちが多いか) どちらでもvscodeは動きます。 今までのやり取りはプログラミングとは直接関係ないです。 が、あえて言うなら(偉そうですみません。Teratailに他にもっとすごい人いっぱい居ます) 1.外国語のサイトこそよく見る 日本語の情報は大抵古いです。参考程度に読んで本家のサイトとか本家・公式のサイトを見ましょう。 2.最初に検索結果に出たサイトが正しいとは限らない 特に日本語で検索した時はその傾向が多い気がします。 10-20件くらいは検索結果を見てみましょう 3.ソースをコピペはするな。考え方を理解しろ コピペして動きませーんって質問がよく書かれてますが… ソースを読んで考え方を理解しましょう。そうすれば応用が効きます。コピペだけして理解してないと痛い目にあいます。 4.やり方は1つじゃない まずは動くものを作ってそこから改良してけばいいと思います。 動かないと気づかなかった問題も有りますんで。最初から完璧を目指さない。 5.エラーが分かれば50%は解決している ちゃんと現状把握してエラーが何なのか調べれば半分は解決してます。後は以下に調べてデバッグして考え方を再確認するかだと思います。 こんなかんじでしょうか。という訳で勉強したわけではありません。 okurageさんは現状把握がしっかり出来ていると思うので上達は早いと思いますし、今後ここで質問する時も回答つきやすいと思います。
okurage

2019/09/13 02:45

いつもお世話になっております。 そして丁寧なご回答をして頂き、誠にありがとうございます。 いただいたお言葉を励みに頑張ります。 特に「コピペだけして動かない」の部分は肝に命じておきたいと思います。 今回の質問に関してですが、現時点で一旦打ち切らせて頂きたいと思います。 質問を通じて、自分には基礎が欠けていると痛感したため、出直した方が早いと考えたためです。 仮想マシンに関してもよくわかっていないので、これを機会に調べ直してみます。 不甲斐ない結果となってしまい、申し訳ありません。 また機会があれば、今回のようにご意見やご指摘をいただけるとありがたいです。 その時には自分も成長できているように頑張ります。 改めまして、この度は丁寧なご対応をして頂き、誠にありがとうございました! では、失礼いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問