Lorsque j'essaie d'exécuter mon programme, il ne passe jamais dans la fonction main(), mais bloque simplement. Certains comment cependant, mon programme jette une exception dans l'une de mes classes comme le premier appel de la pile après de nombreux appels à ntdll.dll. L'exception semble être le facteur qui provoque mon programme à se bloquer avec un "< mauvais ptr>". Je suis incapable de déclencher les points d'arrêt que je définis, ce qui rend plus difficile de trouver l'origine du problème.Le programme C++ se bloque lors de l'exécution de ntdll.dll
Répondre
Vous devez déterminer l'appel système qui a provoqué le blocage. Normalement, ce genre de chose est le résultat du passage des ordures dans certaines API de Windows.
Utilisez un débogueur et examinez la pile d'appels. La dernière entrée qui est dans votre code est susceptible d'être la cause du problème. Il a probablement de mauvaises données qui ne gèrent pas correctement.
Cela ressemble à des objets globaux/singletons. Si l'un d'entre eux dépend l'un de l'autre, vous avez des problèmes. Je chercherais tous vos globals et mettrais un point de rupture dans le contructor de chacun. On dirait que le constructeur pour un global utilise un autre global mais le second n'a pas encore été construit.
Enfin, si ce n'est pas la cause, et que votre application charge des DLL tierces, elles pourraient être en conflit. Je me souviens qu'une fois les DLL d 'une file d' attente orbix et ms classées dans l 'une étaient chargées avant l' autre, tout fonctionnait si elles étaient chargées dans l 'autre sens. À la fin pour trouver ceci j'ai enlevé chaque chose jusqu'à ce que je sois juste parti avec une main vide et ai alors commencé à ajouter des choses une par une jusqu'à ce que j'aie trouvé le problème.
- 1. Liaison explicite DLL et programme se bloque
- 2. Excel 2007 se bloque lors de la fermeture via .NET
- 3. Comment obtenir une trace de pile lorsque le programme C++ se bloque? (en utilisant msvc8/2005)
- 4. C++ fonction du système se bloque l'application
- 5. VS2008 se bloque avec xml dans le projet
- 6. dojo se bloque ie6 lors de l'utilisation de Zend Framework
- 7. Application se bloque avec Exception lors de l'utilisation de javax.microedition.media.Player
- 8. Eclipse se bloque lors de la copie/collage code
- 9. Setup.exe se bloque lors de la tentative d'installation de l'application
- 10. ProgressBar se bloque lors de l'utilisation du multithreading
- 11. finditer se bloque lors de l'appariement avec une longue chaîne
- 12. programme se bloque lors de presse UIImage après avoir généré la texture OpenGL ES
- 13. boost: thread se bloque compilateur C++ microsoft
- 14. Le programme OpenGL/X-Window se bloque pendant la création de la fenêtre
- 15. L'application ASP.NET se bloque lors de l'accès au composant ActiveX
- 16. L'application se bloque lors de la fermeture du contrôle WebBrowser
- 17. Application MFC se bloque lors de la fermeture
- 18. WebRequest.GetResponse se bloque?
- 19. jquery se bloque?
- 20. Firefox 3.5 "se bloque" lors du rendu TABLEAU
- 21. Blackberry - LocationProvider.getLocation() se bloque
- 22. Visual Studio 2008 se bloque lors du débogage ASP classique
- 23. Python se bloque lors de l'importation de Wrapper généré par Swig
- 24. Le travail d'Hudson se bloque à Runtime.exec
- 25. Emacs 23 se bloque sur le mode python lors de la saisie bloc de chaîne "" »
- 26. L'application Rails se bloque et se bloque lors de l'envoi d'une requête GET avec l'en-tête Content-Type
- 27. Pourquoi mon code de réflexion C# se bloque?
- 28. Ruby Telnet se bloque lors de l'invite de saisie du mot de passe
- 29. move_uploaded_file se bloque?
- 30. Visual Studio se bloque lors de l'utilisation de Crystal Reports Group Editor
Ajoutez plus d'informations, par exemple: le vidage de pile quand il se bloque, l'appel API qui appelle dans le noyau et la source autour du plantage. –
Le point ntdll est sans importance, c'est lorsque le thread est passé en noyau. Ajouter la pile complète –