IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Stack corrupted - Run-Time Check Failure


Sujet :

C++

  1. #1
    Membre chevronné
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Points : 2 107
    Points
    2 107
    Par défaut Stack corrupted - Run-Time Check Failure
    Bonjour à tous,

    Je suis tombé aujourd'hui sur une erreur un poil bizarre. J'ai un nombre énorme de données que je peux télécharger depuis un serveur, et jusqu'à présent ça a toujours fonctionné !
    Mais depuis quelque temps je souhaite accéder à des données différentes, mais exactement de même type, et ça plante. J'ai l'erreur suivante à la dernière accolade fermante de la fonction loadPlasmaData():
    Run-Time Check Failure #2 - Stack around the variable 'plasma' was corrupted.
    J'ai évidemment débogué pas à pas, et je n'obtiens que des bonnes valeurs!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    void loadPlasmaData(const std::vector<std::string> & data,int num_choc, bool graph_one)
    {
    	if( data.size() != 0 )
    	{
    		PlasmaData plasma(num_choc); // la variable en question
    		std::vector<Point<double>> point(2);
    		point[0]=Point<double>(0,0);
    		point[1]=Point<double>(1,1);
     
    		GraphFrame * frame;
    		if( graph_one ) 
    		{
    			frame = createGraph(_T("Plasma data, choc ")+wxString::Format(_T("%d"),(int)num_choc),DisplayManager::frame_parent);
    			static_cast<PlotContext2D*>(frame->Context())->SetAxisLegend(_T("temps (s)"),_T("Data"));
    			frame->Context()->SetGraphTitle(_T("Plasma data, choc ")+wxString::Format(_T("%d"),(int)num_choc));
    		}
     
    		for(int i=0;i<data.size();i++)
    		{
    			PlasmaData::vecteur_data m_vect = plasma.GetData(data[i]); // Ok tout va bien
    			if (!m_vect.empty() )
    			{
    				if( ! graph_one )
    				{
    					frame= createGraph(wxString(data[i].c_str(),wxConvLocal )+_T(", choc ")+wxString::Format(_T("%d"),(int)num_choc),DisplayManager::frame_parent);
    					static_cast<PlotContext2D*>(frame->Context())->SetAxisLegend(_T("Time (s)"),_T("Data"));
    					frame->Context()->SetGraphTitle(wxString(data[i].c_str(),wxConvLocal )+_T(", choc ")+wxString::Format(_T("%d"),(int)num_choc));
    				}
     
    				for(int j = 0; j<m_vect.size();j++)
    				{
    					PlotData * plot = new Plot2DSerie((PlotAxisSimple*)NULL,(PlotAxisSimple*)NULL,&m_vect[j][0],m_vect[j].size());//,p,STRAIGHT_LINE);
    					plot->SetName(wxString(data[i].c_str(),wxConvLocal ));
    					frame->Context()->AddPlot(plot);
    				}
    			}
    			else { // on ne passe pas ici, OK
    				std::cout << "Data " << data[i] << " not available" << std::endl;
    			}		
    		}//for
    	}// if
    } // ERREUR ICI
    Je comprend vraiment pas ce que c'est. Si quelqu'un pouvait me donner une piste, je lui en serais très reconnaissant !


  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Souvent, quand j'ai ça, c'est qu'il y a un truc pas à jour dans la compilation, ça disparaît en recompilant tout.

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Tu as essayé de faire tourner dans valgrind ?

Discussions similaires

  1. Run-Time Check Failure : Stack corrupted
    Par melleb dans le forum C++
    Réponses: 19
    Dernier message: 10/06/2009, 16h08
  2. Réponses: 1
    Dernier message: 08/02/2009, 11h54
  3. probleme avec C++ Run-Time Check Failure #3
    Par acnalbasac dans le forum C++
    Réponses: 3
    Dernier message: 14/04/2007, 14h57
  4. [VC++2005 express]Run-Time Check Failure #2
    Par méphistopheles dans le forum Visual C++
    Réponses: 3
    Dernier message: 19/01/2007, 07h13
  5. Run-Time Check Failure #2
    Par -Mod- dans le forum DirectX
    Réponses: 5
    Dernier message: 10/08/2006, 08h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo