Limite d'affichage des chaines du debugger ?

Sujets variés concernant le développement en PureBasic
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Limite d'affichage des chaines du debugger ?

Message par Anonyme2 »

Je viens de me rendre compte de la limite d'affichage d'une chaine avec debug

jusqu'à 3640 caractères, pas de problème, ensuite rien n'est affiché
Je suis sous Vista, des fois que (?), PB 4.10 finale

voici mon code de test

Code : Tout sélectionner

a$= ""
For i = 1 To 3640
   a$ + "1"
Next

Debug a$

MessageRequester("",a$,16)
C'est assez embêtant car j'utilise debug avec des chaines assez longue en ce moment. C'est normal ou c'est un bug (rien vu dans l'aide)

A+
Denis
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

chez moi ceci fonctionne !!

Code : Tout sélectionner

a$= ""
For i = 1 To 3640
  a$ + "1"
Next
 a$ + "2"
Debug a$

MessageRequester("",a$,16)
on vois le 2 a la fin de la chaine !!

parcontre ça , ça marche pas , il affiche plus rien !!!!

Code : Tout sélectionner

a$= ""
For i = 1 To 3640
  a$ + Str(i)+" "
Next 
Debug a$

MessageRequester("",a$,16)
(PureBasic 4.10)
Anonyme

Message par Anonyme »

Sous Nux , c'est pareil , tu devrais te codé dans se cas un debugger perso , qui coupe les chaines de caractères ( liste chainée ? )
sinon , si tu fait un len() , la chaine est bien là , même si tu ne la voit pas dans le debugger
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Cpl.Bator a écrit :tu devrais te codé dans se cas un debugger perso ,
pourquoi pas utiliser la console ??



Declare debug_ (a.s)


a.s= ""
For i = 1 To 3640
  a.s + Str (i)+ " "
Next
debug_ (a.s) ; appel du pseudo debugger
End




Procedure debug_ (a.s)
   OpenConsole () ; ouvre le pseudo debugger
   Print (a.s)
  C$ = Input ()
EndProcedure
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Encore mieux... Pourquoi ne pas utiliser la fonction Debug pour Debugguer :p

Code : Tout sélectionner

Procedure debug_ (a.s)
   OpenConsole () ; ouvre le pseudo debugger
   Print (a.s)
  C$ = Input ()
EndProcedure 
Macro Debug(a)
  debug_(a)
EndMacro


a.s= ""
For i = 1 To 3640
  a.s + Str (i)+ " "
Next
Debug (a.s) ; appel du pseudo debugger
End
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Progi1984 a écrit :Encore mieux... Pourquoi ne pas utiliser la fonction Debug pour Debugguer :p
heu a par la macro en plus c'est quoi la difference avec mon code ?? :lol:

le renomage c'est ça ?? 8O :)
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Dobro a écrit :
Progi1984 a écrit :Encore mieux... Pourquoi ne pas utiliser la fonction Debug pour Debugguer :p
heu a par la macro en plus c'est quoi la difference avec mon code ?? :lol:

le renomage c'est ça ?? 8O :)
Rien du tout :lol:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Progi1984 a écrit : Rien du tout :lol:
:lol:
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Je me suis fais une petite échelle graduée pour mieux contrôler ce qui se passe ,et si ma chaîne est vraiment complète.

Sur XP2 et la 4.20 beta 2 , y'a pas de souci , je vois bien les 10000 caractères

L'ascenseur du debugeur ne s'affiche plus à partir de 20242.
Je vois le début de la chaîne mais je ne peux plus me déplacer pour vérifier le reste.

Code : Tout sélectionner

a$= ""
t$="!"
For i = 1 To 10000
   a$ + t$
   j + 1
   c + 1
   t$="-"   
   If j>9
   j=0
   t$="!"  
   EndIf
   If c>99
    ce + 1
    t$=Str((m*1000)+(ce*100))
    c=0 
   EndIf
   If ce>9

    m + 1
     ce=0
    t$=Str((m*1000)+(ce*100))
 
   EndIf
     
Next

Debug a$

MessageRequester("",a$,16)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Répondre