2010-01-19 7 views
2

Je suis this tutorial sur l'emballage d'un fichier .lib dans une DLL C++. Juste après que j'utilise l'assistant VS pour générer un projet DLL Win32, tout compile bien.Le programme de base C++ se bloque VS 2008

Ensuite, suivant le tutoriel, je remplace ce code VS généré:

DEMODLL_API int fnDemoDll(void) 
{ 
    return 42; 
} 

pour ce code:

DEMODLL_API int fnDemoDll(int a,int b) 
{ 
    return a+b; 
} 

Quand je construis ensuite, les VS 2008 SP1 se bloque IDE.

Google a enregistré plusieurs hits pour ce type de crash, mais rien ne semble s'appliquer.

Il y a une entrée dans l'observateur d'événements liés à l'accident:

Défaillant application devenv.exe, la version 9.0.30729.1, horodatage 0x488f2b50, module défaillant Vcprojectengine.dll, la version 9.0 .30729.1, horodatage 0x488f2e94, code d'exception 0xc0000005, erreur offset 0x0003dd11, ID de processus 0x1f80, heure de début de l'application 0x01ca98d27f9c8b85.

MISE À JOUR:

Je recréée le projet, recompilé était très bien, changé

return 42; 

à

return 43; 

et VS sombré à nouveau.

+0

Je voudrais le faire sans génération de code et l'écrire manuellement moi-même. – StackedCrooked

+0

Je pense que l'assistant de projet a été utilisé un temps de bijillion et doute que c'est un problème avec le code réel. –

+0

Ce n'est pas que le code de l'assistant soit incorrect, juste qu'en l'écrivant vous-même, vous êtes plus conscient de tous les aspects du code, ce qui peut vous aider à trouver le bogue. – StackedCrooked

Répondre

2

Le code exact n'est probablement pas pertinent. C'est l'IDE, pas le compilateur qui plante. Pouvez-vous commencer la construction d'une autre manière?

+0

Je vais regarder dans la construction de la ligne de commande quand je rentre à la maison ce soir (c'est un projet de passe-temps). –

+0

J'ai trouvé un moyen d'éviter d'utiliser C++ dans mon projet donc jamais résolu cela. DevEnv se bloque également lors de la compilation à partir de la ligne de commande. Je peux épousseter ceci quand VS2010 est RTM. Accepter parce que la réponse est exacte et fournit un moyen d'avancer. –

0

J'ai eu des problèmes similaires avec mon VS 2008. Pour moi, ce qui se passait était que l'EDI se fermait soudainement sans plus d'infos. J'ai ensuite essayé de déboguer l'IDE avec DebugDiag. Ce programme peut déboguer des applications externes, vider leurs symboles, faire une trace de pile, etc. Il peut être très utile pour ces types de problèmes, où vous n'avez aucune idée de ce qui pourrait causer un tel problème.

Mon problème a été résolu en désactivant l'Intellisense en le renommant sous un nouveau nom (alors il a été désactivé). Votre problème peut être différent, mais DebugDiag peut vous aider à diagnostiquer cela.

Si vous wan pour essayer de désactiver IntelliSense et voir si cela fonctionne pour vous, essayez de renommer \ Microsoft Visual Studio 9.0 \ VC \ vcpackages \ feacp.dll à autre chose et voir si cela fonctionne. Cependant, cela ne semble pas être votre problème.

+0

Je suis d'accord que ce n'est probablement pas Intellisense puisque le crash se produit pendant la construction, mais je vais essayer de toute façon. Merci d'avoir partagé votre expérience. –

Questions connexes