Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 24 895 810

  • Nb. de membres 186
  • Nb. d'articles 1 269
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Un truc pour debugger du C

Un truc pour debugger du C#1964

4Contributeur(s)
thellierzzd10hElwoodcorto
3 Modérateur(s)
K-LElwoodcorto
thellier thelliericon_post

Là je cherche une bug et vous fais profiter d'un de mes trucs en C
Souvent on voudrais savoir à quelle ligne ça plante..



Alors j'ai une macro comme ça


ULONG asmline=0;
#define LL { asmline= __LINE__ ; printf("Line:%ld\n",asmline); }


__LINE__ est le numéro de ligne du listing
Ca l'imprime pour voir où en est le programme


Mais cette impression dans la console est parfois trop lente, bufferisée comme une imprimante, et la dernière ligne "Ligne:1500" alors que le crash a eu lieu ligne 1510 par exemple
Aussi je copie aussi ce numéro de ligne en memoire dans la variable asmline
Quand le crash a lieu allez voir le "desassemblage" et vous verrez certainement un " li 1510" cad le "load immediate" du numero de ligne en asm ppc


Utilisation juste ajouter LL en debut de ligne (mais faites gaffe aux "if")


/* first do culling */
LL tri->P=P;
LL V =O->V2.X;
LL i=tri->VI[0];
LL P[0].x=V[i].x;
LL P[0].y=V[i].y;
LL P[0].z=V[i].z;
LL i=tri->VI[1];
LL P[1].x=V[i].x;
LL P[1].y=V[i].y;
LL P[1].z=V[i].z;
LL i=tri->VI[2];
LL P[2].x=V[i].x;
LL P[2].y=V[i].y;
LL P[2].z=V[i].z;
LL
LL FaceCCW= ((P[1].x - P[0].x)*(P[2].y - P[0].y)-(P[2].x - P[0].x)*(P[1].y - P[0].y) <  0.0); /* formula from TinyGL */
LL if(MAT->state.CullingMode==W3D_CW)
  FaceCCW=!FaceCCW;
LL if(MAT->state.CullingMode==W3D_NOW)
  FaceCCW=TRUE;


 

zzd10h zzd10hicon_post

et un simple "addr2line" en compilant avec gstabs, ça ne te suffit pas ?


 http://forum.hyperion-entertainment.biz/viewtopic.php?f=26&t=344#p4459


Message édité par : zzd10h / 03-11-2014 17:24
thellier thelliericon_post
Guillaume, Tu as certainement raison c'est dans ces moments là qu'on vois que je suis un programmeur amateur

Alain
zzd10h zzd10hicon_post
Ou alors plutôt que tu es tellement doué que tu utilises avec facilité des trucs super compliqués 
thellier thelliericon_post
Merci Guillaume c'est super sympa

Alain
Elwood Elwoodicon_post
Alain, de toute façon même avec 20 ans d'informatique derrière soit, on en apprend toujours. Je le sais bien :-)
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
corto cortoicon_post
Les outils sont la clé, mes amis !

zzd10h zzd10hicon_post
@Corto

"Les outils sont la clé, mes amis !"

Tu penses à un profiler pour X1000 par exemple ? 
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme