|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Erreur sur ligne quelconque ? |
Débuté par filip, 12 déc. 2005 18:02 - 5 réponses |
| |
| | | |
|
| |
Posté le 12 décembre 2005 - 18:02 |
Bonjour,
J'ai un module où j'ai environ 2000 lignes de codes. Quand je lance ce code, 1000 x ; donc 1000 x 2000 lignes de codes sont exécutées...
mon exécution se plante à la 712ème fois
si je modifie un peu le code et je le passe à 1999 lignes de codes, mon plantage se fera à la 713ème fois par exemple...
Le programme se lance et se ferme automatiquement sans raison.
Si je lance le même traitement avec le mode test, j'ai une erreur système access violation.
Quelqu'un a déjà eu un tel phénomène ? A t il réussi à le résoudre ?
Je dépasse les capacités de qq chose ...
Déjà essayé sur 3 pcs j'ai ajouté multitache(-1);multitache(20) => pour lui laisser reprendre la main sur windows
saturation ? comment libérer ?
J'utilise aussi des zones mémoires
Une idée ? une solution ?
Merci
Philippe |
| |
| |
| | | |
|
| | |
| |
Posté le 12 décembre 2005 - 18:15 |
Psotric a écrit :
Bonjour,
J'ai un module où j'ai environ 2000 lignes de codes. Quand je lance ce code, 1000 x ; donc 1000 x 2000 lignes de codes sont exécutées...
mon exécution se plante à la 712ème fois
si je modifie un peu le code et je le passe à 1999 lignes de codes, mon plantage se fera à la 713ème fois par exemple...
Le programme se lance et se ferme automatiquement sans raison.
Si je lance le même traitement avec le mode test, j'ai une erreur système access violation.
Quelqu'un a déjà eu un tel phénomène ? A t il réussi à le résoudre ?
Je dépasse les capacités de qq chose ...
Déjà essayé sur 3 pcs j'ai ajouté multitache(-1);multitache(20) => pour lui laisser reprendre la main sur windows
saturation ? comment libérer ?
J'utilise aussi des zones mémoires
quel code ? et si tu le lances 500 fois ? comment veux-tu obtenir une réponse. si tu incrémentes une zone mémoire, ou un tableau, tu finiras bien par tout bloquer. En fait, le but n'est pas de chercher les limites à tout prix.
-- Jacques Trepp Albygest - 81160 - St Juery jacques-pas de spam.trepp@free.fr (enlever '-pas de spam' pour me joindre) http://www.albygest.com |
| |
| |
| | | |
|
| | |
| |
Posté le 12 décembre 2005 - 18:37 |
Psotric a présenté l'énoncé suivant :
Bonjour,
J'ai un module où j'ai environ 2000 lignes de codes. Quand je lance ce code, 1000 x ; donc 1000 x 2000 lignes de codes sont exécutées...
mon exécution se plante à la 712ème fois
si je modifie un peu le code et je le passe à 1999 lignes de codes, mon plantage se fera à la 713ème fois par exemple...
Le programme se lance et se ferme automatiquement sans raison.
Si je lance le même traitement avec le mode test, j'ai une erreur système access violation.
Quelqu'un a déjà eu un tel phénomène ? A t il réussi à le résoudre ?
Je dépasse les capacités de qq chose ...
Déjà essayé sur 3 pcs j'ai ajouté multitache(-1);multitache(20) => pour lui laisser reprendre la main sur windows
saturation ? comment libérer ?
J'utilise aussi des zones mémoires
Une idée ? une solution ?
Merci
Philippe
Un module de 2000 lignes de code ??? Peut-être aurais tu interet a découper ce module en plusieurs parties... cela serait peut être plus facile a déboguer... et puis bon, je sais pas mais je ne vois pas l'interet de lancer 1000 x ton code...!!!Mais je ne sais pas ce que tu veux faire... Donnes peut etre un peu plus de détails...
@++
-- Carpe Diem! [bernard] |
| |
| |
| | | |
|
| | |
| |
Posté le 12 décembre 2005 - 23:05 |
Bonsoir,
L'exécution 1000 fois ou plus est courante ! J'ai publié un message décrivant un serveur de emails pop3/smtp. Il y a quelques centaines de ligne de code (le tout dans plusieurs composants). Et il tourne en boucle tout le temps, toutes les 30 secondes. Il y a donc des milliers d'exécutions qui sont faites !
J'ai eu passé un temps une erreur aléatoire, du moins que j'ai cru aléatoire. C'était au final une consultation de email.destinataire[Email.NbDestinataire] avec Email.NbDestinataire=0 au fin fond d'un traitement exécuté rarement.
Mon conseil avant tout, c'est donc de "découper" le traitement pour pouvoir l'exécuter pour test sans telle ou telle partie. Par recoupement vous pourrez déjà repérer le traitement fautif.
Bon courage.
Elian Lacroix |
| |
| |
| | | |
|
| | |
| |
Posté le 13 décembre 2005 - 16:39 |
Re explication
pour poser mon problème plus précisément =>
i,j,k est un entier
pour i=1 a 1000 pour k=1 a 1000 pour j=1 a 1000 cvar=8 ctxt=9 fin fin fin
là j'ai 1000 * 1000 * 1000 lignes de codes ! cas qui peut arriver souvent non ? |
| |
| |
| | | |
|
| | |
| |
Posté le 13 décembre 2005 - 16:41 |
Mon but n'est pas de trouver les limites mais que cela fonctionne dans le cas où je suis tombé
"Psotric" <filip@ibelgique.com> a écrit dans le message de news: 439d9959@news.pcsoft.fr...
Bonjour,
J'ai un module où j'ai environ 2000 lignes de codes. Quand je lance ce code, 1000 x ; donc 1000 x 2000 lignes de codes sont exécutées...
mon exécution se plante à la 712ème fois
si je modifie un peu le code et je le passe à 1999 lignes de codes, mon plantage se fera à la 713ème fois par exemple...
Le programme se lance et se ferme automatiquement sans raison.
Si je lance le même traitement avec le mode test, j'ai une erreur système access violation.
Quelqu'un a déjà eu un tel phénomène ? A t il réussi à le résoudre ?
Je dépasse les capacités de qq chose ...
Déjà essayé sur 3 pcs j'ai ajouté multitache(-1);multitache(20) => pour lui laisser reprendre la main sur windows
saturation ? comment libérer ?
J'utilise aussi des zones mémoires
Une idée ? une solution ?
Merci
Philippe
|
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|