私はシミュレーションを実行するために外部ソルバーを使用しています。 MATLABスクリプトからシステム(cmd)を使って外部ソルバーを呼び出そうとしています。 cmd自体は問題なくターミナルから問題なく実行されます(私はOSX上で動作しています)。ただし、MATLABスクリプトが実行されるたびに、状態は139 - Segmentation Faultです。なぜこれが起こっているのか誰にも分かりますか?MATLABシステムコマンドでセグメンテーションフォルトが発生しますか?
1
A
答えて
1
これはあなたがおそらく環境変数は、プログラムへのアクセス方法に影響しようとしている(~/.bashrc
または~/.bash_profile
経由)端末セッション内で定義されているので、ターミナルからプログラムを実行するのと同じではないあるsystem
コマンドを実行実行します。
プログラムを正常に実行するために必要な環境変数がある場合は、system
を呼び出す前に、MATLAB内のsetenv
を使用してください。
0
私はMatlab(R2016b)と同じ問題を抱えていましたが、解決策はまったく逆でした。
変数が不足しているのではなく、system()
がLD_LIBRARY_PATH
と定義されていて、プログラムでうまく座っていないMatlabパッケージの共有ライブラリにリダイレクトされました。スクリプト内でLD_LIBRARY_PATH
をクリアした後、すべて正常に機能しました。たとえば、次のようにすることができます。
env -u LD_LIBRARY_PATH
関連する問題
- 1. Matlabのシステムコマンドが機能しません
- 2. なぜセグメンテーションフォルト:11がCコードで発生しましたか?
- 3. なぜscanfループからセグメンテーションフォルトが発生しますか?
- 4. Linux(Mac OS)ではセグメンテーションフォルトが発生しています(g ++)。
- 5. "アクセス違反(セグメンテーションフォルト)がプログラムで発生しました。"
- 6. std :: flushがない場合にセグメンテーションフォルトが発生します
- 7. ここでセグメンテーションフォルトが発生するのはなぜですか?
- 8. ポインタにセグメンテーションフォルトが発生するのはなぜですか?
- 9. キャッシュのフラッシュ中にセグメンテーションフォルト(コアダンプ)エラーが発生しました
- 10. エラーが発生した場合のシステムコマンドの出力方法
- 11. mallocの問題が原因でセグメンテーションフォルトが発生する
- 12. pthread_mutex_trylockとpthread_mutex_unlockが原因でセグメンテーションフォルトが発生する
- 13. PHPコードがセグメンテーションフォルトを生成します
- 14. このCコードスニペットでセグメンテーションフォルトが発生しないのはなぜですか?
- 15. このopenmpコードでセグメンテーションフォルトが発生しているのはなぜですか?
- 16. AVLツリーの子セグメントプロジェクトでセグメンテーションフォルトが発生する
- 17. 正しい関数を呼び出す際にセグメンテーションフォルトが発生しました
- 18. Qtアプリケーションは、GLWidget.show()でセグメンテーションフォルトを発生させます。
- 19. なぜstrcpyの実装でセグメンテーションフォルトが発生するのですか?
- 20. 私のコードでセグメンテーションフォルト(コアダンプ)エラーが発生するのはなぜですか?
- 21. Cのこのキューインプリメンテーションでセグメンテーションフォルトが発生するのはなぜですか?
- 22. matlabのclipvalue()でエラーが発生しました
- 23. matlabのkmeansのセントロイド計算でエラーが発生しました
- 24. Matlabシステムジェネレータ:ブラックボックスでエラーが発生しました
- 25. スレッドを作成する際にセグメンテーションフォルト(コアダンプ)エラーが発生する
- 26. Cプログラムを実行するとセグメンテーションフォルトが発生する
- 27. Cで値を出力しようとするとセグメンテーションフォルトが発生する
- 28. C/C++混在プログラミング:gdbセグメンテーションフォルトが頻繁に発生する
- 29. std :: stringの割り当て中にセグメンテーションフォルトが発生する
- 30. グローバル整数配列へのアクセス時にセグメンテーションフォルトが発生する
本当に分かりにくいです。 MATLABではなく外部プログラムの問題です。外部プログラムが依存する環境変数がありますか? – Suever
はい、私のホームディレクトリには特定の環境変数があります.bash_profile – jfherrm
これは、MATLABから 'system'コマンドを実行したときに尊重されるものではありません。必要な環境変数を設定するには 'setenv'を使う必要があります – Suever