久しぶりにC++に戻ってきたので、スタイルでやりたかったので、最初にlibCinderに飛び込んで、今までめったにやったことのないことを始めました(それでも、さまざまな理由でQtを好んでいました。 )。この計画で何がうまくいかない可能性がありますか?
特に、デバッグプロファイルを使用してXcode内からコードを実行し、いくつかの安全ベルトをストラップで固定した場合(別名デバッガー)はほとんど機能しませんが、その後、ワイルドで厄介なことが起こります。ユーザーも取得します。興奮して、何かが十分にタイトではなく、最終的に私のアプリケーションは惨めにクラッシュします。
犯人をPilotStudyApp::draw()関数(https://github.com/Morpheu5/PilotStudyのコードを参照)に絞り込むことができました。おそらく最後のforループ、つまり_activePointsを通過するループの周りです。しかし、あなたがBTから見ることができるように私は確信が持てません
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libstdc++.6.dylib 0x914635e4 std::_Rb_tree_increment(std::_Rb_tree_node_base*) + 15
1 org.cinder.PilotStudy 0x000916b3 PilotStudyApp::draw() + 419
2 org.cinder.PilotStudy 0x000c34ad -[CinderView drawRect:] + 125
あなたがここで完全に見ることができること:http://pastebin.com/izZcFy8p
C ++-fu(またはその欠如)に何か問題があると強く感じているので、見落としているものを見つけていただければ、非常に感謝しています(Processingに行きたくないので、幼稚園に戻りたい気がします:)
編集:STLはスレッドセーフではない可能性があるので、同期またはローカルコピーの作成はおそらく解決する必要があると思いましたか?