Bonjour,
J'ai l'habitude de débuger quand j'ai un problème mais là il ne rentre même pas dans le main.
Je vois vraiment pas d'où vient le problème.
Pièce jointe 371808
Merci d'avance.
Version imprimable
Bonjour,
J'ai l'habitude de débuger quand j'ai un problème mais là il ne rentre même pas dans le main.
Je vois vraiment pas d'où vient le problème.
Pièce jointe 371808
Merci d'avance.
Et nous sommes sencés le deviner sans aucun code ? :cristal:
Salut,
Le message est relativement clair: à un moment donné de l'exécution, tu as tenté d'accéder à une adresse mémoire à laquelle tu n'aurais pas du.
Pourquoi :question: dans quelles circonstances :question: Bonne chance pour le découvrir. Voilà ne bonne séance de débuggage en perspective ;)
Les raisons de cet accès "inapproprié" auxquelles on peut penser en premier sont:
- tu essayes d'accéder l'adresse représentée par un pointeur alors que cette mémoire a déjà été libérée
- tu essayes d'accéder à un élément de tableau qui n'existe pas (par exemple : le 15 eme élément d'un tableau qui n'en contient que 10)
- tu essayes de libérer une adresse mémoire qui a déjà été libérée
- tu essaye d'accéder à une adresse mémoire qui ne contient pas ce que tu crois
Seulement, pour pouvoir confirmer l'une de ces possibilités (tout en sachant que j'en ai sans doute oublier d'autres), il faut:
- déterminer clairement le moment auquel l'erreur survient
- investiguer pour déterminer la cause de l'erreur, qui peut se trouver -- pour faire simple -- n'importe quand entre le lancement de l'application et la survenue de l'erreur
Le fait de disposer du code de ton application (ou du moins, des deux points sus-cités) pourrait nous aider énormément pour trouver la solution ;)
Merci koala01 pour ta réponse rapide.
Le problème est que le projet marche sur les autres postes mais pas sur le mien.
Il compile sans erreurs mais quand j’exécute le code il m'affiche cette exception.
Il ne rentre même pas dans le code vu que j'ai mis un breakpoint dans la 1ère ligne de mon main.
Vous trouverez le code code de mon main ci-dessou si ça peut aider:
Mais ce qui m'intrigue c'est qu'il marche sur les autres PC mais pas le mien. :aie:Code:
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
44
45
46 #include "visionindustrielle.h" #include <QtWidgets/QApplication> #include "loginUI.h" #include "creationProcess.h"" int main(int argc, char *argv[]) { QApplication a(argc, argv); ////Connexion � la base de donn�es. QString connectionTemplate = "DRIVER={SQL SERVER};SERVER=%1;DATABASE=%2;UID=%3;PWD=%4;Trusted_Connection=Yes;"; QString servername = "NADHIR-PC\\SQLEXPRESS01"; // "PC-PMARZOUG" QString database = "zodiac"; QString user = "telnet"; QString password = "telnet"; QString connectionString = connectionTemplate.arg(servername).arg(database).arg(user).arg(password); QSqlDatabase zodiacDonnee = QSqlDatabase::addDatabase("QODBC"); zodiacDonnee.setDatabaseName(connectionString); bool db = zodiacDonnee.open(); if (db) { qDebug() << db; //ui->textBrowser->append("connexion to DB succeded !"); } else { //ui->textBrowser->append("connexion to DB error !"); QApplication::quit(); } VisionIndustrielle w; //creationProcess w; //Open StyleSheet QFile file("Resources/style-sheet.qss"); file.open(QFile::ReadOnly); QString styleSheetmain = QLatin1String(file.readAll()); w.setStyleSheet(styleSheetmain); w.setWindowTitle("Morpho-Vision"); w.show(); return a.exec(); }
S'il n'entre pas dans le main, c'est probablement qu'il plante pendant l'initialisation d'une variable globale (ou, comme tu es sous windows, pendant l'exécution d'un DllMain lors du chargement d'une DLL, ce dernier point pouvant se déboguer en regardant les DLL se charger).
Comme tu es sous visual studio, as-tu activé la possibilité d'arrêter un programme dès lors qu'une exception est lancée ? Généralement, ça peut accélérer les choses...
Bonjour,
Je tiens à ajouter que l'erreur est documentée par Microsoft : https://answers.microsoft.com/en-us/...9-a4fb11033e0d