PB à toute heure et à tout moment. (à parcourir avec modération)

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 12-10-2011 17:46:33

Allin  
Membre Geek
Lieu: Canada
Date d'inscription: 17-09-2008
Messages: 43
Pépites: 1,192
Banque: 0

Crash intermittent sur PBSHR115.dll

Bonjour,

J'ai des crash intermittent et non compréhensible sur le PBSHR115.dll en exécutable (version compiler et non développement). Comme je ne suis pas capable d'avoir le problème lorsque j'exécute mon application par PowerBuilder, je ne réussi pas à trouver la source du problème.

Est-ce que quelqu'un à déjà rencontré ce genre de problème et a trouvé une solution pour le résoudre?

P.S. J'ai installé la dernière version des runtimes PB11.5.1, soit le build 5032 et le problème est encore présent.

C'est sensiblement ce genre de problème car je fais beaucoup d'appel API pour utiliser des composantes graphiques de windows.
http://search.sybase.com/kbx/changerequ … _id=661222

Si quelqu'un a la moindre idée, n'hésitez pas à écrire un commentaire!

Merci.

Hors ligne

 

#2 12-10-2011 18:06:44

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Crash intermittent sur PBSHR115.dll

Salut, tu as essayé de tracer le tabernak' d'exe ?


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 12-10-2011 19:18:11

Allin  
Membre Geek
Lieu: Canada
Date d'inscription: 17-09-2008
Messages: 43
Pépites: 1,192
Banque: 0

Re: Crash intermittent sur PBSHR115.dll

Tu parles d'ajouter /PBDebug à l'appel de mon application?

Hors ligne

 

#4 12-10-2011 19:46:51

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Crash intermittent sur PBSHR115.dll

oui, cf le cris' de post de foon (que j'épingle au passage)


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 13-10-2011 07:52:15

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 723
Pépites: 11,352
Banque: 100,221,387,868,884,300
Site web

Re: Crash intermittent sur PBSHR115.dll

par expérience, il arrive que le fichier de trace de la VM (${exe_name}.dbg) généré par l'option /PBDEBUG soit tronqué au début, et l’interprétation n'est pas très facile. J'ai écrit un petit tools pour relire et représenter ces fichiers dans un arbre graphique.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#6 13-10-2011 09:26:50

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 748
Pépites: 1,028,846
Banque: 171,170,849,654

Re: Crash intermittent sur PBSHR115.dll

Bonjour,

La grande classique pour ce type de crash avec les fonctions de l'API c'est l'oubli de réserver l'espace mémoire pour une "string" retournée par référence par une fonction de l'API :

Code: pb

ulong lul_buffer = 256

as_path = Space(lul_buffer) // Attention, réserver la place pour le retour sinon GPF
RETURN GetTempPathA(lul_buffer, as_path)

Hors ligne

 

#7 13-10-2011 12:43:32

Allin  
Membre Geek
Lieu: Canada
Date d'inscription: 17-09-2008
Messages: 43
Pépites: 1,192
Banque: 0

Re: Crash intermittent sur PBSHR115.dll

Merci pour vos idées, je vais regarder cela et utiliser ton tool pour lire le .dbg.

Je ne savais pas qu'il fallait réserver l'espace d'une variable lors d'un call API avec une variable en référence, c'est probablement. Le problème est intermittent aussi dans ce cas buck?

Hors ligne

 

#8 13-10-2011 12:50:10

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 723
Pépites: 11,352
Banque: 100,221,387,868,884,300
Site web

Re: Crash intermittent sur PBSHR115.dll

en fait, pour les appel API, il faut pré-allouer les chaines/blob lorsque l'API doit les modifier, et l'espace à réserver dépend de la fonction, il vaut mieux consulter la doc MSDN à ce sujet...


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#9 13-10-2011 13:59:13

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 748
Pépites: 1,028,846
Banque: 171,170,849,654

Re: Crash intermittent sur PBSHR115.dll

Bonjour,

La réponse est oui, ça provoque des crashs intermittents.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22