機体開発中にエラーが出て、困っています
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
機体開発中にエラーが出て、困っています
msg# 1
s1170203
投稿数: 26
s1170203です。
自分で作成した機体をFlightgearでシミュレートしようとすると、ずっと読み込み中の状態になってしまいます。
自分で作成したモデルファイルに問題があると思うのですが、どこが問題なのかがわかりません。
Flightgearでモデルファイルのエラーを検出する方法はありませんか?
よろしくお願いします。
自分で作成した機体をFlightgearでシミュレートしようとすると、ずっと読み込み中の状態になってしまいます。
自分で作成したモデルファイルに問題があると思うのですが、どこが問題なのかがわかりません。
Flightgearでモデルファイルのエラーを検出する方法はありませんか?
よろしくお願いします。
投票数:21
平均点:6.19
Re: 機体開発中にエラーが出て、困っています
msg# 1.1
toshi
投稿数: 1541
s1170203 さん、こんばんは。
toshiです。
コンソール画面のログを確認する方法と、ファイルアクセスを監視する方法が考えられます。
FlightGear本体プログラム(fgfs)の起動時に異常があった場合、多くの場合はコンソール画面(Windowsの場合は背景が黒のウィンドウ)にエラーの内容を表示しますので、まずはその内容をご確認ください。
なお、fgfs起動時の設定で
--log-level=warn
のようにlog-levelを指定すると、より詳細なログを表示することが出来ます。
有効な値は、 bulk, debug, info, warn, alert です。
# bulkにすると、あまりに多すぎるログに驚くかもしれません。
http://flightgear.jpn.org/modules/d3forum/index.php?post_id=3297
もご参照ください。
コンソール画面のエラーメッセージの内容については、英語wikiに解説があります。
http://wiki.flightgear.org/Howto:Understand_console_output
ファイルアクセスを監視する方法については、Windowsですと、process monitorが良さそうです。
http://technet.microsoft.com/ja-jp/sysinternals/bb896645
実際に、FlightGearのバグ探しの手段として使われることもあります。
http://code.google.com/p/flightgear-bugs/issues/detail?id=284#c66
process monitorの使い方は、たとえば以下をご参照ください。
http://ascii.jp/elem/000/000/674/674669/
toshiです。
コンソール画面のログを確認する方法と、ファイルアクセスを監視する方法が考えられます。
FlightGear本体プログラム(fgfs)の起動時に異常があった場合、多くの場合はコンソール画面(Windowsの場合は背景が黒のウィンドウ)にエラーの内容を表示しますので、まずはその内容をご確認ください。
なお、fgfs起動時の設定で
--log-level=warn
のようにlog-levelを指定すると、より詳細なログを表示することが出来ます。
有効な値は、 bulk, debug, info, warn, alert です。
# bulkにすると、あまりに多すぎるログに驚くかもしれません。
http://flightgear.jpn.org/modules/d3forum/index.php?post_id=3297
もご参照ください。
コンソール画面のエラーメッセージの内容については、英語wikiに解説があります。
http://wiki.flightgear.org/Howto:Understand_console_output
ファイルアクセスを監視する方法については、Windowsですと、process monitorが良さそうです。
http://technet.microsoft.com/ja-jp/sysinternals/bb896645
実際に、FlightGearのバグ探しの手段として使われることもあります。
http://code.google.com/p/flightgear-bugs/issues/detail?id=284#c66
process monitorの使い方は、たとえば以下をご参照ください。
http://ascii.jp/elem/000/000/674/674669/
投票数:10
平均点:3.00
Re: 機体開発中にエラーが出て、困っています
msg# 1.1.1
s1170203
投稿数: 26
toshiさん、返信ありがとうございます。
まずはコンソール画面のログを確認する方法を試してみたいと思います。
log-levelを指定するというのは、FlightGearを起動させたときに出てくる、
FlightGear Wizardという画面から設定できるのですか?
どのような手順で設定したらよいのか、いまいち分からなくて...
初心者なもので、すみません。
まずはコンソール画面のログを確認する方法を試してみたいと思います。
log-levelを指定するというのは、FlightGearを起動させたときに出てくる、
FlightGear Wizardという画面から設定できるのですか?
どのような手順で設定したらよいのか、いまいち分からなくて...
初心者なもので、すみません。
投票数:10
平均点:4.00
Re: 機体開発中にエラーが出て、困っています
msg# 1.1.1.1
toshi
投稿数: 1541
s1170203 さん、こんばんは。
toshi です。
お使いのOSはWindowsでしょうか?
であれば、FlightGear Wizard で簡単に設定できます。
http://flightgear.jpn.org/modules/d3forum/index.php?post_id=3297 より引用:
fgrunとは、Windows版FlightGearに標準で付属するFlightGear Wizardの実行プログラムの名前です。
一方、コンソール画面に表示されるログをファイルに保存したい場合は、fgrunを使わずに、以下のようなバッチファイルからFlightGear本体プログラム(fgfs)を直接起動することをお勧めします。
--- test.bat ---
cd /d "C:\Program Files\FlightGear\bin\Win32\"
SET FG_ROOT=C:\Program Files\FlightGear\data
SET FG_SCENERY=C:\Program Files\FlightGear\data\Scenery;C:\Program Files\FlightGear\scenery;C:\Program Files\FlightGear\terrasync
fgfs --airport=KSFO --aircraft=c172p --log-level=info > log.txt 2>&1
----------------
FlightGearのパスや、起動時オプション(--aircraft=c172p など)は適宜修正してください。
上記の場合、log.txtファイルは、
C:\Program Files\FlightGear\bin\Win32
に保存されます。
toshi です。
お使いのOSはWindowsでしょうか?
であれば、FlightGear Wizard で簡単に設定できます。
http://flightgear.jpn.org/modules/d3forum/index.php?post_id=3297 より引用:
fgrunの場合は、最後の画面の[Advanced...]> Debugging 画面から Log Level を変更することが出来ます(デフォルトは alert で、最小限の情報のみを表示します)。
fgrunとは、Windows版FlightGearに標準で付属するFlightGear Wizardの実行プログラムの名前です。
一方、コンソール画面に表示されるログをファイルに保存したい場合は、fgrunを使わずに、以下のようなバッチファイルからFlightGear本体プログラム(fgfs)を直接起動することをお勧めします。
--- test.bat ---
cd /d "C:\Program Files\FlightGear\bin\Win32\"
SET FG_ROOT=C:\Program Files\FlightGear\data
SET FG_SCENERY=C:\Program Files\FlightGear\data\Scenery;C:\Program Files\FlightGear\scenery;C:\Program Files\FlightGear\terrasync
fgfs --airport=KSFO --aircraft=c172p --log-level=info > log.txt 2>&1
----------------
FlightGearのパスや、起動時オプション(--aircraft=c172p など)は適宜修正してください。
上記の場合、log.txtファイルは、
C:\Program Files\FlightGear\bin\Win32
に保存されます。
投票数:8
平均点:5.00
Re: 機体開発中にエラーが出て、困っています
msg# 1.1.1.1.1
s1170203
投稿数: 26
toshiさん、
とても丁寧な説明ありがとうございます。
おかげさまで設定を変更することができました。
エラーについては、
この方法で詳細なログを表示し、
以前に教えていただいた
英語wikiのコンソール画面のエラーメッセージ
を上手く活用して解決していきたいと思います。
とても丁寧な説明ありがとうございます。
おかげさまで設定を変更することができました。
エラーについては、
この方法で詳細なログを表示し、
以前に教えていただいた
英語wikiのコンソール画面のエラーメッセージ
を上手く活用して解決していきたいと思います。
投票数:8
平均点:6.25
Re: 機体開発中にエラーが出て、困っています
msg# 1.2
toshi
投稿数: 1541
s1170203 さん、こんばんは。
toshi です。
今回の事例とは直接関係ないと思いますが、FlightGearに良く使われるxmlファイルについて、XML構文上のエラーを簡易的に調べる方法をお伝えしたいと思います。
・xmlファイルを、firefox あるいは Internet Explorer の画面にドラッグアンドドロップで放り込む
たったこれだけですが、XMLの文法上の構文エラーを手っ取り早く見つけるには非常に便利な方法です。
たとえば、ooo-set.xmlの中で、開始タグ<model>と対になる終了タグ</model>を書き忘れた場合、私の環境では以下の内容が表示されます。
Firefoxの場合
引用:
Internet Explorerの場合
引用:
それから、xmlファイル中のコメント行に日本語を書くとどうなるか検証してみたのですが、FlightGear 2.8から xmlパーサーの処理が変更になったようで、日本語を含んだxmlファイルの文字エンコーディングはUTF-8にしないと駄目みたいです。
xmlの仕様上は、shift-jisの場合はファイルの書き出しを
<?xml version="1.0" encoding="Shift-JIS"?>
とすることになっており、またUTF-8の場合は、単に
<?xml version="1.0"?>
としてもよい、というルールになっているようです。
しかし、FlightGear2.8 for Windowsで検証した限りですが、文字エンコーディングがshift-jisのxmlファイルにはFlightGear側が対応できないようで、以下のようなメッセージがコンソール画面に表示され、止まってしまいました。
参考:
[Flightgear-devel] XML parser error
http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg37281.html
toshi です。
今回の事例とは直接関係ないと思いますが、FlightGearに良く使われるxmlファイルについて、XML構文上のエラーを簡易的に調べる方法をお伝えしたいと思います。
・xmlファイルを、firefox あるいは Internet Explorer の画面にドラッグアンドドロップで放り込む
たったこれだけですが、XMLの文法上の構文エラーを手っ取り早く見つけるには非常に便利な方法です。
たとえば、ooo-set.xmlの中で、開始タグ<model>と対になる終了タグ</model>を書き忘れた場合、私の環境では以下の内容が表示されます。
Firefoxの場合
引用:
XML パースエラー: タグの対応が間違っています。終了タグが必要です: </model>
Internet Explorerの場合
引用:
終了タグ 'sim' が開始タグ 'model' と一致していません。
それから、xmlファイル中のコメント行に日本語を書くとどうなるか検証してみたのですが、FlightGear 2.8から xmlパーサーの処理が変更になったようで、日本語を含んだxmlファイルの文字エンコーディングはUTF-8にしないと駄目みたいです。
xmlの仕様上は、shift-jisの場合はファイルの書き出しを
<?xml version="1.0" encoding="Shift-JIS"?>
とすることになっており、またUTF-8の場合は、単に
<?xml version="1.0"?>
としてもよい、というルールになっているようです。
しかし、FlightGear2.8 for Windowsで検証した限りですが、文字エンコーディングがshift-jisのxmlファイルにはFlightGear側が対応できないようで、以下のようなメッセージがコンソール画面に表示され、止まってしまいました。
unkown encoding
at 'ファイルのバス名',
line x, column yy
caught exception processing subsystem:flight
message:unkown encoding
参考:
[Flightgear-devel] XML parser error
http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg37281.html
投票数:20
平均点:6.00
Re: 機体開発中にエラーが出て、困っています
msg# 1.3
s1170203
投稿数: 26
s1170203です。
以前toshiさんに教えてもらった、
コンソール画面に表示されるログをファイルに保存する方法をやってみたいと思っているのですが、いまいち手順がよく分かりません。
.batという拡張子を付けたバッチファイルというファイルを作成後、ここからどのようにしてFlightGear本体プログラムを起動させるのでしょうか?
また、このファイルを実行するにあたって、用意しなければならない環境はありますか?
以前toshiさんに教えてもらった、
コンソール画面に表示されるログをファイルに保存する方法をやってみたいと思っているのですが、いまいち手順がよく分かりません。
.batという拡張子を付けたバッチファイルというファイルを作成後、ここからどのようにしてFlightGear本体プログラムを起動させるのでしょうか?
また、このファイルを実行するにあたって、用意しなければならない環境はありますか?
投票数:7
平均点:7.14
Re: 機体開発中にエラーが出て、困っています
msg# 1.3.1
toshi
投稿数: 1541
s1170203さん、こんばんは。
toshiです。
Windows系のPCを使っているのでしたら、バッチファイルの実行にあたって特に必要な環境はありません。
私のWindows XP環境では、以下の操作です。
・バッチファイルの編集
バッチファイルを右クリックして[編集]
--> メモ帳が起動してバッチファイルの中身を表示します
・バッチファイルの実行
バッチファイルをダブルクリック
また、バッチファイルはテキストファイルですので、テキストエディタでも編集できます。
蛇足ですが、FlightGearではxmlファイルの編集等で、メモ帳が対応していない改行コードや文字コードのファイルを扱うことがあるので、「2012-1-9付けの記事」の末尾にも書きましたが、サクラエディタやEmEditor Freeなど、フリーのテキストエディタをインストールすることをお勧めしておきます。
# s1160068 さんと s1170203 さんが同じ方なのでしたら、重複する内容ですみません。
もっと丁寧な説明が必要でしたら、たとえばWindows7向けの以下の解説にしたがって、簡単なバッチファイルを作ってみてはいかがでしょうか?
ダブルクリック1回でコンピュータを休止状態にする(Windows 7編) − @IT
http://www.atmarkit.co.jp/fwin2k/win2ktips/1382hibnw7/hibnw7.html
また推測ですが、何かが思ったように行かなくて、必要な環境などを質問されているのだろうと思いますので、ありがちな事例と対処法を2点書いておきます。
もしバッチファイルをダブルクリックした時に、黒い画面が一瞬表示されて、すぐ消えてしまうのでしたら、何かを間違えていてFlightGearが起動していないのだと思います。
バッチファイルの最後に
PAUSE
と1行追加してみてください。
バッチファイル実行時のコマンドの内容と、もし何かエラーがあれば「指定されたパスが見つかりません。」などのメッセージが見えるはずです。
あるいは、バッチファイルを右クリックして[プロパティ]を見て、[全般]タブの「ファイルの説明」が「MS-DOS バッチ ファイル」のようになっていない場合は、拡張子を.batにしたつもりでも、実は違っているかもしれません。
Windowsの設定で、拡張子を表示する設定にすることをお勧めします。
Windows7の場合でしたら、上記の@ITの記事中にも拡張子を表示する方法の説明があります。
toshiです。
Windows系のPCを使っているのでしたら、バッチファイルの実行にあたって特に必要な環境はありません。
私のWindows XP環境では、以下の操作です。
・バッチファイルの編集
バッチファイルを右クリックして[編集]
--> メモ帳が起動してバッチファイルの中身を表示します
・バッチファイルの実行
バッチファイルをダブルクリック
また、バッチファイルはテキストファイルですので、テキストエディタでも編集できます。
蛇足ですが、FlightGearではxmlファイルの編集等で、メモ帳が対応していない改行コードや文字コードのファイルを扱うことがあるので、「2012-1-9付けの記事」の末尾にも書きましたが、サクラエディタやEmEditor Freeなど、フリーのテキストエディタをインストールすることをお勧めしておきます。
# s1160068 さんと s1170203 さんが同じ方なのでしたら、重複する内容ですみません。
もっと丁寧な説明が必要でしたら、たとえばWindows7向けの以下の解説にしたがって、簡単なバッチファイルを作ってみてはいかがでしょうか?
ダブルクリック1回でコンピュータを休止状態にする(Windows 7編) − @IT
http://www.atmarkit.co.jp/fwin2k/win2ktips/1382hibnw7/hibnw7.html
また推測ですが、何かが思ったように行かなくて、必要な環境などを質問されているのだろうと思いますので、ありがちな事例と対処法を2点書いておきます。
もしバッチファイルをダブルクリックした時に、黒い画面が一瞬表示されて、すぐ消えてしまうのでしたら、何かを間違えていてFlightGearが起動していないのだと思います。
バッチファイルの最後に
PAUSE
と1行追加してみてください。
バッチファイル実行時のコマンドの内容と、もし何かエラーがあれば「指定されたパスが見つかりません。」などのメッセージが見えるはずです。
あるいは、バッチファイルを右クリックして[プロパティ]を見て、[全般]タブの「ファイルの説明」が「MS-DOS バッチ ファイル」のようになっていない場合は、拡張子を.batにしたつもりでも、実は違っているかもしれません。
Windowsの設定で、拡張子を表示する設定にすることをお勧めします。
Windows7の場合でしたら、上記の@ITの記事中にも拡張子を表示する方法の説明があります。
投票数:12
平均点:4.17
Re: 機体開発中にエラーが出て、困っています
msg# 1.9
s1170203
投稿数: 26
s1170203です。
連続投稿失礼します。
toshiさんが以前教えてくださった、
エラーログを別ファイルに書き込むためのバッチファイルについてですが
現在正常に実行できないという問題があります。
よろしければ、バッチファイルの各行の意味を教えてもらえると助かります。
よろしくお願いします。
連続投稿失礼します。
toshiさんが以前教えてくださった、
エラーログを別ファイルに書き込むためのバッチファイルについてですが
現在正常に実行できないという問題があります。
よろしければ、バッチファイルの各行の意味を教えてもらえると助かります。
よろしくお願いします。
投票数:12
平均点:6.67
Re: 機体開発中にエラーが出て、困っています
msg# 1.9.1
toshi
投稿数: 1541
toshiです。
まずはじめに、本トピック「機体開発中にエラーが出て、困っています」に投稿された
2012-11-14 3:08付け(Hydeさん)
から
2012-11-26 20:54付け(s1170203さん)
の9件の記事は、その内容が開発中のARDroneの機体に関するものであるため、情報集約のためにモデレータ権限で
「クアドロコプターはつくれるか?」
のトピックに移動させていただきました。
どうぞご了承ください。
次に、s1170203へのバッチファイルに関するご質問にお答えします。
引用:
えっと、次のバッチファイルですよね。
c172pを指定しても正常に実行できないのでしょうか?
また、c172pを指定したときに、どのような状況から正常でないと判断されたのか、どんなエラーメッセージが表示されるのかを教えていただけると、アドバイスしやすいです。
もしかしたら「管理者モード」にすれば動くんじゃないかとも思いつつも、どこに疑問を持っているのか分からない状態ではアドバイスしにくいです...
--- test.bat ---
cd /d "C:\Program Files\FlightGear\bin\Win32\"
SET FG_ROOT=C:\Program Files\FlightGear\data
SET FG_SCENERY=C:\Program Files\FlightGear\data\Scenery;C:\Program Files\FlightGear\scenery;C:\Program Files\FlightGear\terrasync
fgfs --airport=KSFO --aircraft=c172p --log-level=info > log.txt 2>&1
----------------
コマンドを羅列しているだけなのですが、細かい意味を言い出すときりがないので、まず全体をざっと説明してみます。
用語の解説はしていませんので、適宜調べるか、分からなければ質問してください。
1. cd行
cdはカレントディレクトリを変更するDOSコマンドです。
/dスイッチは、Dドライブ等、他のドライブにFlightGearをインストールしている可能性を考慮して、念のためにつけています。
2. SET FG_ROOT行
SETは環境変数を設定するDOSコマンドです。
FG_ROOT
という環境変数に
C:\Program Files\FlightGear\data
という値を設定しています。
3. SET FG_SCENERY行
2と同じく、環境変数を設定しています。
4. fgfs行
FlightGear本体プログラムのfgfs.exeを実行しています。
fgfs行の最後の「 > log.txt 2>&1」はファイルに書き込むための特殊な処理でして、fgfsを実行したときに通常は画面に表示されるメッセージのうち、標準出力とエラー出力の両方を、ファイル(log.txt)にリダイレクトする、という意味です。
単に「 > log.txt」とした場合、標準出力はファイルに書き込まれ、エラー出力は画面に表示されます。
2. 3.の環境変数の意味や、4のfgfsオプションの意味は
FlightGearマニュアル 「第3章 離陸:プログラムの起動方法」
をご確認ください。
また、バッチファイルの最後(ここでは5行目)に
PAUSE
を入れると良いですよ、という話を以前しましたが、PAUSEはバッチファイルを一時停止するコマンドで、「続行するには何かキーを押してください . . .」のメッセージを表示します。
なお、「test.bat」の内容は、コマンドプロンプトから1行ずつ手入力することもできます。
でも手入力だと面倒だし間違えやすいので、単にバッチファイルで代用しています。
まずはじめに、本トピック「機体開発中にエラーが出て、困っています」に投稿された
2012-11-14 3:08付け(Hydeさん)
から
2012-11-26 20:54付け(s1170203さん)
の9件の記事は、その内容が開発中のARDroneの機体に関するものであるため、情報集約のためにモデレータ権限で
「クアドロコプターはつくれるか?」
のトピックに移動させていただきました。
どうぞご了承ください。
次に、s1170203へのバッチファイルに関するご質問にお答えします。
引用:
エラーログを別ファイルに書き込むためのバッチファイルについてですが
現在正常に実行できないという問題があります。
よろしければ、バッチファイルの各行の意味を教えてもらえると助かります。
えっと、次のバッチファイルですよね。
c172pを指定しても正常に実行できないのでしょうか?
また、c172pを指定したときに、どのような状況から正常でないと判断されたのか、どんなエラーメッセージが表示されるのかを教えていただけると、アドバイスしやすいです。
もしかしたら「管理者モード」にすれば動くんじゃないかとも思いつつも、どこに疑問を持っているのか分からない状態ではアドバイスしにくいです...
--- test.bat ---
cd /d "C:\Program Files\FlightGear\bin\Win32\"
SET FG_ROOT=C:\Program Files\FlightGear\data
SET FG_SCENERY=C:\Program Files\FlightGear\data\Scenery;C:\Program Files\FlightGear\scenery;C:\Program Files\FlightGear\terrasync
fgfs --airport=KSFO --aircraft=c172p --log-level=info > log.txt 2>&1
----------------
コマンドを羅列しているだけなのですが、細かい意味を言い出すときりがないので、まず全体をざっと説明してみます。
用語の解説はしていませんので、適宜調べるか、分からなければ質問してください。
1. cd行
cdはカレントディレクトリを変更するDOSコマンドです。
/dスイッチは、Dドライブ等、他のドライブにFlightGearをインストールしている可能性を考慮して、念のためにつけています。
2. SET FG_ROOT行
SETは環境変数を設定するDOSコマンドです。
FG_ROOT
という環境変数に
C:\Program Files\FlightGear\data
という値を設定しています。
3. SET FG_SCENERY行
2と同じく、環境変数を設定しています。
4. fgfs行
FlightGear本体プログラムのfgfs.exeを実行しています。
fgfs行の最後の「 > log.txt 2>&1」はファイルに書き込むための特殊な処理でして、fgfsを実行したときに通常は画面に表示されるメッセージのうち、標準出力とエラー出力の両方を、ファイル(log.txt)にリダイレクトする、という意味です。
単に「 > log.txt」とした場合、標準出力はファイルに書き込まれ、エラー出力は画面に表示されます。
2. 3.の環境変数の意味や、4のfgfsオプションの意味は
FlightGearマニュアル 「第3章 離陸:プログラムの起動方法」
をご確認ください。
また、バッチファイルの最後(ここでは5行目)に
PAUSE
を入れると良いですよ、という話を以前しましたが、PAUSEはバッチファイルを一時停止するコマンドで、「続行するには何かキーを押してください . . .」のメッセージを表示します。
なお、「test.bat」の内容は、コマンドプロンプトから1行ずつ手入力することもできます。
でも手入力だと面倒だし間違えやすいので、単にバッチファイルで代用しています。
投票数:10
平均点:4.00
Re: 機体開発中にエラーが出て、困っています
msg# 1.10
s1170203
投稿数: 26
s1170203です。
toshiさん、説明ありがとうございます。
起こっていたエラー内容は
バッチファイルを起動させ、
機体の画像が出ている画面からシミュレーション画面へと移り変わる際に
問題が発生しましたというWindowsからのメッセージが来たのち、
強制終了されるというものでした。
しかし
SET FG_SCENERY=C:\Program Files\FlightGear\data\Scenery;C:\Program Files\FlightGear\scenery;C:\Program Files\FlightGear\terrasync
というコマンドで
私のFlightgearのソフトにはC:\Program Files\FlightGearの下にterrasyncというフォルダが存在しません。
そのため
C:\Program Files\FlightGear\terrasync
という文を削除すると実行できるようになりました。
ですが、今度はバッチファイルから実行すると
背景が黒く、夜?のようになってしまいます。
全く同じ条件(airport=KSFO --aircraft=Quadro-sk --log-level=alert)
でFlightgearから起動させると
そのような現象は起こりません。
以下にFlightgearとバッチファイルから実行した際の
それぞれのスクリーンショットを載せますので、見てもらえたら嬉しいです
KSFO.bmpはFlightgearのソフトから実行したもの、
KSFO2.bmpはバッチファイルから実行したものです。
また「管理者モード」とはどのようなものですか?
教えていただけると助かります。
https://www.dropbox.com/sh/q2knjp7k1umnldd/txIUgauJhl
toshiさん、説明ありがとうございます。
起こっていたエラー内容は
バッチファイルを起動させ、
機体の画像が出ている画面からシミュレーション画面へと移り変わる際に
問題が発生しましたというWindowsからのメッセージが来たのち、
強制終了されるというものでした。
しかし
SET FG_SCENERY=C:\Program Files\FlightGear\data\Scenery;C:\Program Files\FlightGear\scenery;C:\Program Files\FlightGear\terrasync
というコマンドで
私のFlightgearのソフトにはC:\Program Files\FlightGearの下にterrasyncというフォルダが存在しません。
そのため
C:\Program Files\FlightGear\terrasync
という文を削除すると実行できるようになりました。
ですが、今度はバッチファイルから実行すると
背景が黒く、夜?のようになってしまいます。
全く同じ条件(airport=KSFO --aircraft=Quadro-sk --log-level=alert)
でFlightgearから起動させると
そのような現象は起こりません。
以下にFlightgearとバッチファイルから実行した際の
それぞれのスクリーンショットを載せますので、見てもらえたら嬉しいです
KSFO.bmpはFlightgearのソフトから実行したもの、
KSFO2.bmpはバッチファイルから実行したものです。
また「管理者モード」とはどのようなものですか?
教えていただけると助かります。
https://www.dropbox.com/sh/q2knjp7k1umnldd/txIUgauJhl
投票数:10
平均点:5.00
Re: 機体開発中にエラーが出て、困っています
msg# 1.10.1
inoue
居住地: 東京
投稿数: 41
inoueです、横ヤリ失礼いたします。
> 私のFlightgearのソフトにはC:\Program Files\FlightGearの下に
> terrasyncというフォルダが存在しません。
これは正常なことです。terrasyncは地上の風景(シーナリー)を
自動的にFlightGearのサーバーからダウンロードしてくれるプログラムで、
明示的に起動したことがなければ、terrasyncというフォルダは
存在しないはずです。
https://www.dropbox.com/sh/q2knjp7k1umnldd/txIUgauJhl
のスクリーンショットを見ました。こちらも問題なさそうです。FlighyGearの
パラメーターの一つに時刻があって、イギリスのグリニッジ標準時(GMT;
Greenwich Mean Time)とお使いのパソコンで設定された時刻、例えば
東京(GMT +09:00)との関係で、朝とか昼とか夜とかの明るさが自動的に
変わります。
「管理者モード」はWindowsのログインの時のユーザー名ごとの権限/権利の一つで、
最上級のものです。何でもできます。Administrator。
toshi-san, I tried to do my best I could. Please follow this.
> 私のFlightgearのソフトにはC:\Program Files\FlightGearの下に
> terrasyncというフォルダが存在しません。
これは正常なことです。terrasyncは地上の風景(シーナリー)を
自動的にFlightGearのサーバーからダウンロードしてくれるプログラムで、
明示的に起動したことがなければ、terrasyncというフォルダは
存在しないはずです。
https://www.dropbox.com/sh/q2knjp7k1umnldd/txIUgauJhl
のスクリーンショットを見ました。こちらも問題なさそうです。FlighyGearの
パラメーターの一つに時刻があって、イギリスのグリニッジ標準時(GMT;
Greenwich Mean Time)とお使いのパソコンで設定された時刻、例えば
東京(GMT +09:00)との関係で、朝とか昼とか夜とかの明るさが自動的に
変わります。
「管理者モード」はWindowsのログインの時のユーザー名ごとの権限/権利の一つで、
最上級のものです。何でもできます。Administrator。
toshi-san, I tried to do my best I could. Please follow this.
投票数:10
平均点:5.00
Re: 機体開発中にエラーが出て、困っています
msg# 1.10.2
toshi
投稿数: 1541
こんばんは、toshiです。
FlightGear Wizard (FGRun)から起動した場合と、バッチファイルから起動した場合とで画面の明るさが違う理由は、多分、「全く同じ条件」で起動していないためであり、具体的には --timeofday オプションの有無に差があるのではないかと思います。
--timeofday オプションをつけない場合は、現実世界における時刻どおりにFlightGearが起動します(--time-match-realと同じ)。
FGRunから起動した場合のオプションは、wizard画面の最後のページの一番下にある
Show command line
にチェックを入れると表示されますので、常時チェックを入れておくことをお勧めします。
「Win版クイックスタート(起動編) - 環境設定」と、FlightGearマニュアル 「第3章 離陸:プログラムの起動方法 - 3.5.11 時間オプション」もご確認ください。
管理者モード云々は、2通りの可能性を想定しています。
1つ目は、お使いのユーザアカウントがAdministratorsグループに所属しておらず、一般ユーザ権限でプログラムを実行している可能性。
2つ目は、Windows Vista/7のUAC機能により、バーチャルフォルダにファイルが書き込まれている可能性です。
実は私の書いたバッチファイルを実行すると、
C:\Program Files\FlightGear
フォルダの中に
log.txt
ファイルを生成するはずなのですが、
C:\Program Files
以下のフォルダに書き込むには管理者権限でバッチファイルを実行しないといけない可能性が高いため、気にしている次第です。
特に、UAC機能については、私がWindows XP環境のため、Vista/7環境ではバッチファイルの動作確認は出来ません。
http://flightgear.jpn.org/modules/d3forum/index.php?post_id=3499
あたりもあわせて読んでみてください。
いずれにしろ、次のステップは、「log.txtが生成されるかどうかを確認する」になると思います。
C:\Program Files\FlightGear
か
C:\Users\<ユーザー名>\AppData\Local\VirtualStore\Program Files\FlightGear
にあると思います。
ただ、上記のような面倒が起こりうるので
C:\Program Files\FlightGear
にlot.txtを作ることをやめた方がような気もしてきました。
test.batと同じ場所にlog.txtを生成するようにバッチファイルを修正し、検証してから後日改良版を投稿します。
それから、バッチファイルが起動しなかった原因として、存在しないterrasyncフォルダを指定したためとおっしゃっていますが、少なくとも私のWindows XP環境では、terrasyncフォルダの存在の有無に関係なくtest.batが起動できることを確認済みです。
FGRunで起動する際も、--fg-sceneryオプションでterrasyncフォルダを指定していると思いますが、ちゃんと起動していますよね。
これとからんで、確認したいことがあります。
引用:この不具合、つまりterrasyncフォルダを指定した場合に上記タイミングで強制終了されるという不具合は、c172pでも発生するのでしょうか?
バッチファイル自体の問題に伴う不具合なのか、そもそもFGRunでも正常に起動しないQuadro-skの機体モデルに伴う不具合なのか、原因の切り分けが大事です。
まずは、--aircraft=c172pとしたバッチファイルで起動して、log.txtの中身を確認するまでを第1目標として、お願いできませんか?
--- test.bat (再掲)---
cd /d "C:\Program Files\FlightGear\bin\Win32\"
SET FG_ROOT=C:\Program Files\FlightGear\data
SET FG_SCENERY=C:\Program Files\FlightGear\data\Scenery;C:\Program Files\FlightGear\scenery;C:\Program Files\FlightGear\terrasync
fgfs --airport=KSFO --aircraft=c172p --log-level=info > log.txt 2>&1
----------------
なお、説明し忘れていましたが、SET FG_SCENERY行は改行せずに1行で記入してください。
あと、動作環境(OS、FlightGearのバージョン)も教えてください。
以上、よろしくお願いします。
FlightGear Wizard (FGRun)から起動した場合と、バッチファイルから起動した場合とで画面の明るさが違う理由は、多分、「全く同じ条件」で起動していないためであり、具体的には --timeofday オプションの有無に差があるのではないかと思います。
--timeofday オプションをつけない場合は、現実世界における時刻どおりにFlightGearが起動します(--time-match-realと同じ)。
FGRunから起動した場合のオプションは、wizard画面の最後のページの一番下にある
Show command line
にチェックを入れると表示されますので、常時チェックを入れておくことをお勧めします。
「Win版クイックスタート(起動編) - 環境設定」と、FlightGearマニュアル 「第3章 離陸:プログラムの起動方法 - 3.5.11 時間オプション」もご確認ください。
管理者モード云々は、2通りの可能性を想定しています。
1つ目は、お使いのユーザアカウントがAdministratorsグループに所属しておらず、一般ユーザ権限でプログラムを実行している可能性。
2つ目は、Windows Vista/7のUAC機能により、バーチャルフォルダにファイルが書き込まれている可能性です。
実は私の書いたバッチファイルを実行すると、
C:\Program Files\FlightGear
フォルダの中に
log.txt
ファイルを生成するはずなのですが、
C:\Program Files
以下のフォルダに書き込むには管理者権限でバッチファイルを実行しないといけない可能性が高いため、気にしている次第です。
特に、UAC機能については、私がWindows XP環境のため、Vista/7環境ではバッチファイルの動作確認は出来ません。
http://flightgear.jpn.org/modules/d3forum/index.php?post_id=3499
あたりもあわせて読んでみてください。
いずれにしろ、次のステップは、「log.txtが生成されるかどうかを確認する」になると思います。
C:\Program Files\FlightGear
か
C:\Users\<ユーザー名>\AppData\Local\VirtualStore\Program Files\FlightGear
にあると思います。
ただ、上記のような面倒が起こりうるので
C:\Program Files\FlightGear
にlot.txtを作ることをやめた方がような気もしてきました。
test.batと同じ場所にlog.txtを生成するようにバッチファイルを修正し、検証してから後日改良版を投稿します。
それから、バッチファイルが起動しなかった原因として、存在しないterrasyncフォルダを指定したためとおっしゃっていますが、少なくとも私のWindows XP環境では、terrasyncフォルダの存在の有無に関係なくtest.batが起動できることを確認済みです。
FGRunで起動する際も、--fg-sceneryオプションでterrasyncフォルダを指定していると思いますが、ちゃんと起動していますよね。
これとからんで、確認したいことがあります。
引用:
起こっていたエラー内容は
バッチファイルを起動させ、
機体の画像が出ている画面からシミュレーション画面へと移り変わる際に
問題が発生しましたというWindowsからのメッセージが来たのち、
強制終了されるというものでした。
バッチファイル自体の問題に伴う不具合なのか、そもそもFGRunでも正常に起動しないQuadro-skの機体モデルに伴う不具合なのか、原因の切り分けが大事です。
まずは、--aircraft=c172pとしたバッチファイルで起動して、log.txtの中身を確認するまでを第1目標として、お願いできませんか?
--- test.bat (再掲)---
cd /d "C:\Program Files\FlightGear\bin\Win32\"
SET FG_ROOT=C:\Program Files\FlightGear\data
SET FG_SCENERY=C:\Program Files\FlightGear\data\Scenery;C:\Program Files\FlightGear\scenery;C:\Program Files\FlightGear\terrasync
fgfs --airport=KSFO --aircraft=c172p --log-level=info > log.txt 2>&1
----------------
なお、説明し忘れていましたが、SET FG_SCENERY行は改行せずに1行で記入してください。
あと、動作環境(OS、FlightGearのバージョン)も教えてください。
以上、よろしくお願いします。
投票数:16
平均点:5.63
Re: 機体開発中にエラーが出て、困っています
msg# 1.11
s1170203
投稿数: 26
s1170203です。
inoueさん、toshiさん、返信ありがとうございます。
私のFlightgearにterrasyncが存在しない謎が解けました。
toshiさんのおっしゃった通りc172pで試してみたところ、
なぜかエラーもなく実行でき、自分で作成した機体でも問題なく実行できるようになっていました。
色々といじってはいましたが、特に原因は発見できなかったため、
なぜ上手くいくようになったのかは自分でも分かりません。
お騒がせして、申し訳ありませんでした。
色々とありがとうございます。
私が使っている動作環境は
OSはWindows XP、
Flightgearのバージョンは2.4.0です。
これからは、このバッチファイルを使って、
問題の解決に努めたいと思います。
エラーログに関しての疑問が出た際には
またお力を貸していただけると助かります。
inoueさん、toshiさん、返信ありがとうございます。
私のFlightgearにterrasyncが存在しない謎が解けました。
toshiさんのおっしゃった通りc172pで試してみたところ、
なぜかエラーもなく実行でき、自分で作成した機体でも問題なく実行できるようになっていました。
色々といじってはいましたが、特に原因は発見できなかったため、
なぜ上手くいくようになったのかは自分でも分かりません。
お騒がせして、申し訳ありませんでした。
色々とありがとうございます。
私が使っている動作環境は
OSはWindows XP、
Flightgearのバージョンは2.4.0です。
これからは、このバッチファイルを使って、
問題の解決に努めたいと思います。
エラーログに関しての疑問が出た際には
またお力を貸していただけると助かります。
投票数:10
平均点:4.00
Re: 機体開発中にエラーが出て、困っています
msg# 1.12
toshi
投稿数: 1541
こんにちは、toshiです。
バッチファイルで無事起動できるようになったようですね。
おめでとうございます。
以前投稿したtest.batを改良してみました。
--- test2.bat (行数: 4) ここから ---
SET FG_ROOT=C:\Program Files\FlightGear\data
SET FG_SCENERY=C:\Program Files\FlightGear\data\Scenery;C:\Program Files\FlightGear\scenery;C:\Program Files\FlightGear\terrasync
"C:\Program Files\FlightGear\bin\Win32\fgfs" --airport=KSFO --aircraft=c172p --log-level=info > log.txt 2>&1
PAUSE
--- ここまで -----------------------
(変更点と解説)
o test2.batファイルと同じ場所にlog.txtが作成されるようにしました。
-- たとえばデスクトップにtest2.batがあれば、log.txtもデスクトップに作成されます。
o (3行目) logをファイルに出力する必要が無い場合は、「> log.txt 2>&1」の部分を削除してください。
-- log-levelをinfoにすると、余計なメッセージを画面にたくさん出力するために動作が遅くなる可能性があるので、詳細なメッセージが必要がなければ「--log-level=info」も削除してください。
o (4行目) バッチファイルの最後に一時停止コマンド「PAUSE」を入れました。
-- バッチファイルがPAUSE行を実行すると、コンソール画面に
続行するには何かキーを押してください . . .
と表示されます。
バッチファイルに、Windowsが理解できない書式ミスなどがあるとコンソール画面にエラーメッセージが表示されますので、このタイミングで確認してください。
確認したら、コンソール画面がアクティブな(選択された)状態で、何かキーを押してバッチファイルを終了してください。
なお、ctrl-cを押すとバッチファイルがそこで終了します。
o 行頭に「REM」と書くと、バッチファイルはその行を無視します。
-- 一時的にコメントアウトしたい場合などに有用です。
バッチファイルで無事起動できるようになったようですね。
おめでとうございます。
以前投稿したtest.batを改良してみました。
--- test2.bat (行数: 4) ここから ---
SET FG_ROOT=C:\Program Files\FlightGear\data
SET FG_SCENERY=C:\Program Files\FlightGear\data\Scenery;C:\Program Files\FlightGear\scenery;C:\Program Files\FlightGear\terrasync
"C:\Program Files\FlightGear\bin\Win32\fgfs" --airport=KSFO --aircraft=c172p --log-level=info > log.txt 2>&1
PAUSE
--- ここまで -----------------------
(変更点と解説)
o test2.batファイルと同じ場所にlog.txtが作成されるようにしました。
-- たとえばデスクトップにtest2.batがあれば、log.txtもデスクトップに作成されます。
o (3行目) logをファイルに出力する必要が無い場合は、「> log.txt 2>&1」の部分を削除してください。
-- log-levelをinfoにすると、余計なメッセージを画面にたくさん出力するために動作が遅くなる可能性があるので、詳細なメッセージが必要がなければ「--log-level=info」も削除してください。
o (4行目) バッチファイルの最後に一時停止コマンド「PAUSE」を入れました。
-- バッチファイルがPAUSE行を実行すると、コンソール画面に
続行するには何かキーを押してください . . .
と表示されます。
バッチファイルに、Windowsが理解できない書式ミスなどがあるとコンソール画面にエラーメッセージが表示されますので、このタイミングで確認してください。
確認したら、コンソール画面がアクティブな(選択された)状態で、何かキーを押してバッチファイルを終了してください。
なお、ctrl-cを押すとバッチファイルがそこで終了します。
o 行頭に「REM」と書くと、バッチファイルはその行を無視します。
-- 一時的にコメントアウトしたい場合などに有用です。
投票数:6
平均点:3.33
Re: 機体開発中にエラーが出て、困っています
msg# 1.13
s1170203
投稿数: 26
s1170203です。
toshiさん、ご親切にありがとうございます。
このファイルをデスクトップで実行してみたところ、
テキストファイルをデスクトップ下に置けるようになりました。
エラーをチェックする上で、とても便利な環境なので、
本当に助かりました。
toshiさん、ご親切にありがとうございます。
このファイルをデスクトップで実行してみたところ、
テキストファイルをデスクトップ下に置けるようになりました。
エラーをチェックする上で、とても便利な環境なので、
本当に助かりました。
投票数:12
平均点:3.33