私のプログラムを実行しようとすると、main()関数を入力することはありませんが、ハングするだけです。何とか、私のプログラムは、ntdll.dllへの多数の呼び出しの後、スタック内の最初の呼び出しとしてクラスの1つに例外をスローしています。例外は、私のプログラムが "< bad ptr>"でハングする原因となっているようです。私は設定したブレークポイントをトリガーすることができず、問題の発生場所を見つけることが難しくなります。ntdll.dll実行時にC++プログラムがハングする
1
A
答えて
3
クラッシュの原因となったシステムコールを特定する必要があります。通常この種の問題は、いくつかのウィンドウAPIにガベージを渡した結果です。
デバッガを使用して、コールスタックを調べます。あなたのコードの中にある最後のエントリが問題の原因になる可能性があります。おそらくそれは正しく処理されていないいくつかの悪いデータがあります。
1
グローバルオブジェクト/シングルトンを使用しているようです。これらのいずれかがお互いに依存する場合、あなたは困っています。私はあなたのすべてのグローバルを探し、それぞれのコンストラクタにブレークポイントを設定します。あるグローバルが別のグローバルを使用していて、2番目のグローバルがまだ構築されていないというコンストラクタのように思えます。
最後にこれが原因ではなく、アプリケーションがサードパーティ製のDLLを読み込んでいる場合、それらは衝突している可能性があります。私はorbixとmsメッセージキューのDLLを1つに分類すると、他のものより前にロードされたことを思い出します。最終的にこれを見つけるために、私は空のメインが残っているまで、すべてのものを削除してから、問題が見つかるまで1つずつ追加し始めました。
関連する問題
- 1. pthreads実行時にCプログラムがハングする
- 2. 実行時にハングのみCTRL + C
- 3. セグメンテーションフォールト:Cプログラム実行時に
- 4. MarshalByRefObjectによりC++プログラムがハングする
- 5. whileループでcURLを実行するとPHPプログラムがハングする
- 6. malloc実行時にプログラムがクラッシュする
- 7. 実行時にプログラムがクラッシュする
- 8. プログラムの実行時にC++コンソールが空白になる
- 9. 実行中にCプログラムがクラッシュする
- 10. pthreadとのCプログラムの同時実行
- 11. linqpad親スクリプトUtil.complileでasyncサブスクリプティングを実行すると実行時にハングする
- 12. 実行時にC++プログラムをDLLにコンパイルする方法
- 13. Pascal - プログラムがフォーム切り替え時にハングする
- 14. 実行時にC#プログラムがアセンブリ参照を失った
- 15. Javaプログラムがハングする
- 16. ObjectInputStreamコンストラクタがハングするプログラム
- 17. 起動時にCプログラムを実行する[Red Pitaya]
- 18. 実行時間が長くかかるクエリの後にスクリプトがハングする
- 19. PDOの実行文がハングする
- 20. C/C++プログラムの実行時間を調べる
- 21. アンインストール時にプログラムを実行する
- 22. C - pthread_joinを()ハング(時々)
- 23. ブラックベリーのサービススレッドは、実行時にUIをハングします
- 24. C#プログラムの実行を一時停止する
- 25. cとlinuxのプログラム実行時間を計算する
- 26. Netbeans:開始時にCコードデバッグがハングする
- 27. Cプログラムはコマンドを実行する前に実行します
- 28. のJavaプログラムの実行時実行時に、このプログラムが例外を与えている
- 29. Magento setTemplate実行時/プログラムで
- 30. Clojureプログラムの実行時間
詳細情報を追加します。つまり、スタックダンプ時のスタックダンプ、カーネルに呼び出されるAPI呼び出し、クラッシュの周囲のソースです。 –
ntdllポイントは、スレッドがカーネルに移行したときに使用されます。完全なスタックを追加します。 –