Page 1 sur 1

Limite d'affichage des chaines du debugger ?

Publié : mer. 20/févr./2008 16:46
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

Publié : mer. 20/févr./2008 17:05
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)

Publié : jeu. 21/févr./2008 19:17
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

Publié : jeu. 21/févr./2008 20:36
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

Publié : jeu. 21/févr./2008 21:26
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

Publié : jeu. 21/févr./2008 21:58
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 :)

Publié : ven. 22/févr./2008 8:25
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:

Publié : ven. 22/févr./2008 8:51
par Backup
Progi1984 a écrit : Rien du tout :lol:
:lol:

Publié : ven. 22/févr./2008 8:58
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)