IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi .NET Discussion :

[BDS 2006][.NET] Debugger Evaluateur


Sujet :

Delphi .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 52
    Par défaut [BDS 2006][.NET] Debugger Evaluateur
    Bonjour tout le monde;

    Je débute une mission sous Delphi 2006 NotNet, je suis un habitué de toutes les versions de Delphi Win32 jusqu'à Code Gear 2007.

    Mais là je me trouve confronté à un problème que je n'avais pas dans les autres versions sur lesquelles j'ai toujours bossé.

    En effet, lorsque je veux évaluer une chaîne (par exemple) ayant une taille supérieure de 1000 char, et bien l'évaluateur de Delphi en debug tronque cette chaine à 512 caractères.

    Avez-vous eu le même problème sous BDS 2006 .NET ? J'ai refais des tests sous 2007 ou delphi 5 pensant que je devenais fou et que ca avait toujours été ainsi mais non l'évaluateur ne me tronquait pas mes longues chaines de caractères.

    Avez-vous des solutions pratiques SVP ?

    Merci
    Greg

  2. #2
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 52
    Par défaut
    Me revoilà pour un petit update.

    En fait il semblerait que l'évaluation fonctionne pour une variable locale mais pour le résultat d'une fonction GetText par exemple, le résultat est tronqué à 512 caractères :-(

    donc toujours pas de solution pour le moment.

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    as-tu consulté le site de bug de Borland ?
    L'affichage primaire en tant que tableau puis string est-il possible ?

  4. #4
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 52
    Par défaut
    Bonjour,

    Oui j'ai regardé le Quality Center de Borland et CodeGear (ce sont les mêmes de toute façon ) et il y a des bugs de rapportés mais sur le fait que l'évaluation de chaînes assez longues fait planter le debugger et l'IDE tout entier.

    Rien pour mon cas, par contre j'avais trouvé un sujet se rapportant exactement à mon problème mais sous Delphi 8 et il y avait eu un patch pour corriger ce problème.

    Laurent as-tu le même problème ou pas du tout ?

    Par contre je ne comprends pas ta dernière phrase: "affichage primaire puis string" ? Sous forme de tableau (maString[..]), je peux accéder à n'importe quel caractère de ma chaîne, et lorsque j'ajoute ma variable dans le suivi, de toute façon ma chaîne est là aussi tronquée à 512 car donc impossible de faire un copier/coller là non plus (précision, lorsque j'évalue le longueur de ma chaine (length(MyString) j'ai bien la bonne longueur et pas 512) .

    Sinon, autre question, en WIN32 on pouvait accéder directement à l'emplacement mémoire d'un objet, chaîne, ... par l'adresse mémoire correspondante via le module CPU, sous Delphi .NET il n'y a plus du tout moyen de voir en mémoire le contenu d'une chaîne par exemple ?

    Toujours en recherhe d'infos, j'ai ajouté un bug report sur le site de Code Gear, je vais bien voir si il va être pris en compte ou pas;

    Merci

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par yousky
    Laurent as-tu le même problème ou pas du tout ?
    Sous D2006 fix 10, le code suivant ne pose pas de pb dans l'évaluateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    uses
      SysUtils,
      System.Text;
    var
      StrBuild : System.Text.StringBuilder;
      Chaine   : String;
      i:integer;
    begin
      StrBuild:=StringBuilder.Create(2048);
      Chaine:='01234567890abcdefghij';
       for i:= 0 to 100 do
         StrBuild.Append(Chaine);
      Chaine:=StrBuild.ToString;
      Writeln(Chaine);
    end.
    Citation Envoyé par yousky
    Par contre je ne comprends pas ta dernière phrase: "affichage primaire puis string" ?
    Je pensais contourner le pb en utilisant un spécificateur de format :chaine,D
    Citation Envoyé par yousky
    il n'y a plus du tout moyen de voir en mémoire le contenu d'une chaîne par exemple ?
    Pas à ma connaissance puisque le garbage collector peut à tout moment déplacer le contenu de la chaîne de caractères.

  6. #6
    Membre averti
    Inscrit en
    Septembre 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 52
    Par défaut
    Halala désolé, j'avais oublié une chose importante :-(
    En fait c'est pas l'évaluation directe d'une chaîne, mais du contenu d'un TStringList, désolé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      procedure Check;
      var
        S: TStringList;
     
      begin
        S := TStringList.Create;
        try
          S.Text := StringOfChar('A', 1000);
        finally
          FreeAndNil(S);
        end;
      end;
    Voici le code à tester, comme tu pourras le remarquer, lorsque tu vas évaluer dans le débugger 'S.Text', ton résultat sera tronqué à 512 car.

    Lien sur le bug report Quality Center :
    http://qc.codegear.com/wc/qcmain.aspx?d=62146

    Désolé

Discussions similaires

  1. Utiliser la JVCL v3.20 avec BDS 2006 ?
    Par MaTHieU_ dans le forum Delphi
    Réponses: 2
    Dernier message: 17/06/2006, 00h01
  2. [Delphi 2006 .NET] Client TCP
    Par Griswold dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 06/06/2006, 23h32
  3. BDS 2006: Changer la langue de l'EDI
    Par cfalcot dans le forum EDI
    Réponses: 2
    Dernier message: 02/05/2006, 17h49
  4. [BDS 2006] premières impressions
    Par Fbartolo dans le forum C++Builder
    Réponses: 30
    Dernier message: 20/04/2006, 15h17
  5. BDS 2006 - Delphi 2006
    Par Henry Cesbron Lavau dans le forum EDI
    Réponses: 3
    Dernier message: 02/12/2005, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo