問題タブ [bad-alloc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
directsound - 時折新しい LPDIRECTSOUNDBUFFER8 bad_alloc
次のコードを使用すると、「C++ 例外: std::bad_alloc at memory location」が時々発生します。
このコードは boot/init で呼び出されます。アプリを 10 回実行できますが、この例外は約 1 回スローされます。
ランダム性は、初期化されていない変数を考えさせます。しかし、ご覧のとおり、コードは非常に単純です。
何か案は?
ありがとうございました
c++ - メモリ不足の問題である可能性が低いと思われる bad_alloc を解決するにはどうすればよいですか?
私は C++ で BFS を使用して迷路を検索するためのコードを少し書いています (私の主な言語は Python ですが、C++ の脳を少し鍛えたいと思っていました...)、この奇妙なエラーに出くわしました。
関連するデータ構造は次のとおりです。
迷路のテキスト ファイルを読み込むメソッドが既にあると仮定します。このメソッドvoid parseFile(Maze* maze, char* filename)
は、開始とゴールの四角形の (row, col) ペアと、「通行可能」な (row, col) ペアに対応するセットを格納します。迷路で。
他にもいくつかの機能があります。
それらの実装は次のとおりです。
コードは GCC 4.6.3 で正常にコンパイルされます$g++ maze.cc -g -std=c++0x
。$./a.out smallMaze.txt
Valgrind と GDB で健全性チェックを行いました。Valgrindは、次Conditional jump or move depends on uninitialised value(s)
の行でそれを指摘しています。
if(passableNeighbor->cell.first == maze->goal.first
設定ルックアップを行う近くの行、
if(visited.find(passableNeighbor->cell) == visited.end())
GDB でこれらの passableNeighbor ポインターを調べると、基になる SearchNode オブジェクトの子セルが適切に初期化されておらず、あらゆる種類の奇妙な値が表示されているように見えます。これは、C++ がオブジェクトを割り当てる方法を理解していないことに関係していると思われます。
したがって、根本的な問題が passableNeighbor オブジェクトに破損したデータが含まれていることであることは明らかです。これは、getPassableChildren() メソッドをどのように記述したかによる成果物ですか? 他の考えはありますか?
私は std::bad_alloc を見回しましたが、この例外は通常メモリ不足に関連しているようですが、BFS 中に展開された最初のノードでこのエラーが発生しているため、私がメモリ制限に達します。
out-of-memory - 「bad_alloc」例外をシミュレートして取得する方法は?
bad_alloc
C ++で例外をシミュレートして生成する方法を教えてもらえますか? 私のコードでは、いくつかの場所で例外new
をスローする演算子を使用しています。bad_alloc
このシナリオをシミュレートしたいので、コードをテストする必要があります。
c++ - C++ の STL リスト ポインター
List ポインターを逆参照して C++ のリストにアクセスするにはどうすればよいですか?
次のように実行すると、bad_alloc エラーが発生します。
ls
ですList*
。コードの前に、私は持っていました:
の値をls
整数として使用しました。私はそれをさまざまな関数に渡しました。キャストして逆List*
参照したいので、エラーが発生します
c++ - 遺伝的アルゴリズムの 2D ベクトル クラス変数で bad_alloc エラーが発生する
私は遺伝的アルゴリズムを書いています.2つの親「染色体」に渡されるクラスオブジェクトとして「クロスオーバー」演算子を作成しています.入力と出力染色体は可変長であるため、私の考えは入力を2分割することでした.染色体を保存クラス変数の一種に配置し、入力染色体のサイズを変更し、最後に入力染色体を再充填します。ただし、bad_alloc エラーが発生します。誰かが私のエラーを見つけることができれば、助けていただければ幸いです。
ありがとう!私のクラスコードは以下です。「plan_vector」は int 型の 2 次元ベクトルであることに注意してください。
sorting - cuda / thrust:6GBのGPURAMで2.8GBのデータをsort_by_keyしようとするとbad_allocがスローされます
私はスラストを使い始めたばかりですが、これまでの最大の問題の1つは、メモリ操作に必要な量に関するドキュメントがないように見えることです。したがって、ソートしようとしたときに以下のコードがbad_allocをスローする理由がわかりません(ソートする前に、GPUメモリの50%以上が使用可能であり、CPUで70GBのRAMが使用可能です)-誰かが光を当てることができますかこれ?
これが私がコードをコンパイルした方法です
c++ - .NET Web アプリケーションからの bad_alloc 例外のデバッグ
Visual C++ デスクトップ アプリケーションを .NET Web アプリケーションに変換しています。そうすることで、元々デスクトップ アプリケーションで使用されていたバックエンドの Visual C++ dll を保持しようとしました。これらの dll からグローバル変数を削除しようとして、bad_alloc 例外の問題に遭遇しました。この例外はランダムに発生するようで、多くの試行/キャッチを使用して下位レベルのコードで特定しようとしています。私は次のことを試しましたが、あまり運がありませんでした:
1) Debug->Exceptions から C++ Exceptions を有効にしました。(例外はキャッチされますが、コール スタックは、問題の原因となった変数や関数を特定するのに役立ちません)。2) DebugDiag で VS デバッガ Web サーバー プロセスのメモリ リーク ルールを作成しようとしました。(漏れはありませんでした)。
これを追跡するための他の戦略は非常に役立ちます!
c++ - std::bad_alloc ulimit
私は32ビットのUbuntu 12.04に取り組んでいます。RAMは7.7GB。特定のプロセス (C++ で記述) を実行し、RAM 使用率が 50% に達すると、そのプロセスは「std::bad_alloc」をスローします。奇妙なことに、ヒープ サイズは無制限です (コマンド ulimit -v は「無制限」を返します)。では、原因として考えられるのはどれでしょうか?
c++ - ベクターにプッシュしようとすると std::bad_alloc エラーが発生するのはなぜですか?
C++ エラーをスローするコードの一部を次に示します。
IDList は、次のように定義されるベクトルです。
そのコード行で Token オブジェクトをプッシュできないのはなぜですか? ありがとう。
編集:
これを試すと:
同じエラーが発生します。ベクターへのプッシュが試行されたときに発生します。