休日に、さらに長文の内容ですみません。初めて質問します。
TrackControllerが動かなくなった経緯をお伝えする前に、まず各ソフトのバージョンを示します。
OS:Windows10、Choreonoid:Choreonoid-master(開発版で、OpenRTM-aistとAssimpのプラグインを追加しています)、VisualStudio 2019
今週の月曜日、仮想joystickを使ってTankチュートリアルを試しており、その時点ではTrackController.dllは動いていました。
そしてここ数日、直動機構を作ろうと、TrackControllerを模擬したコントローラを作っていたのですが、それが上手くいかず、devenv.exeにアプリケーションエラーが発生しました。(写真の添付方法を教えていただけましたら改めてエラーの写真を添付致します。)
そこで、Tankチュートリアルをもう一度動かしました。そのとき、joystickを押してもTank.bodyが前後左右どの方向にも動かないことが分かりました。もともと動かせないようでしたら申し訳ございませんが、このときサンプルで作られていたTankのプロジェクトでも前後左右に動かせなくなりました。
その後試したことは以下の通りです。
1.extディレクトリに保存した自作のプロジェクトディレクトリとsimplecontrollerディレクトリにできるdllファイルを削除してビルドし直す。
→TrackController.dllは動きませんでした。
2.Tankチュートリアルで作ったTrackController.cppとTrackController.dllを削除し、新しく作り直す。
→TrackController.dllは動きませんでした。
3.Tankチュートリアルのプロジェクトディレクトリとdllファイルを削除し全てを新しく作り直す。
→TrackController.dll以外は動きました。
4.プロジェクトディレクトリとdllファイル以外にも、ビルドしたときにファイルができると分かったのでTankTutorialとつくファイルを削除して新しく作り直す。
→TrackController.dll以外は動きました。
ただ、1~4の間で他のコントローラは動きましたが、ビルドの途中で勝手に落ちることがほとんどでした。5以外に一度だけ「’System.OutOfMemoryException’ の例外がスローされました。」と出て途中で終わってしまうことがありました。
5.TrackController.cppに似たSampleCrawlerJoystickController.cppのコードを、linkの名前だけ変更してTrackController.cppに書き換えました。SampleCrawlerJoystickController.cppを模擬したのは、このチュートリアルは動いていたからです。
→「‘System.OutOfMemoryException’ の例外がスローされました。」と表示され、ビルドが途中で終わってしまい、TrackController.dllも動きませんでした。
「‘System.OutOfMemoryException’ の例外がスローされました。」を調べてみると、プログラムを実行するためのメモリが不足していることが原因のようですが、コードを見てもどうすればよいのかわからず前に進めない状況です。
もし解決方法がお分かりでしたら、ご教示いただけると有難く存じます。
また、写真の添付方法についても教えていただけますでしょうか。そうしましたら、devenv.exeのエラー写真を添付いたします。
最後にエラーの全文を載せました。
System.OutOfMemoryException: 種類 ‘System.OutOfMemoryException’ の例外がスローされました。場所 Microsoft.VisualStudio.Text.Formatting.Implementation.FormattedTextSourceFactoryService.Create(ITextSnapshot sourceTextSnapshot, ITextSnapshot visualBufferSnapshot, Int32 tabSize, Double baseIndentation, Double wordWrapWidth, Double maxAutoIndent, Boolean useDisplayMode, IClassifier aggregateClassifier, ITextAndAdornmentSequencer sequencer, IClassificationFormatMap classificationFormatMap, Boolean isViewWrapEnabled) 場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.PreLayout(LayoutLineCache lineCache) 場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.PerformLayout(ITextSnapshot newSnapshot, ITextSnapshot newVisualSnapshot, SnapshotPoint anchorPosition, Double verticalDistance, ViewRelativePosition relativeTo, Double effectiveViewportWidth, Double effectiveViewportHeight, Boolean preserveViewportTop, Nullable1 cancel) 場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.PerformLayout(ITextSnapshot newSnapshot, ITextSnapshot newVisualSnapshot) 場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.AdvanceSnapshot(TextSnapshotChangedEventArgs e) 場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.AdvanceSnapshotOnUIThread(TextSnapshotChangedEventArgs e) 場所 Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView.OnVisualBufferChanged(Object sender, TextContentChangedEventArgs e) 場所 Microsoft.VisualStudio.Text.Utilities.GuardedOperations.RaiseEvent[TArgs](Object sender, EventHandler
1 eventHandlers, TArgs args) — 直前に例外がスローされた場所からのスタック トレースの終わり — 場所 Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
System.OutOfMemoryException: 種類 ‘System.OutOfMemoryException’ の例外がスローされました。場所 Microsoft.VisualStudio.Editor.Implementation.TextDocData.OnTextBufferChanging(Object sender, TextContentChangingEventArgs args) 場所 Microsoft.VisualStudio.Text.Implementation.BaseBuffer.RaiseChangingEvent(TextContentChangingEventArgs args) — 直前に例外がスローされた場所からのスタック トレースの終わり — 場所 Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)