See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: Tuto C++ Questions  (Read 1979 times)

0 Members and 1 Guest are viewing this topic.

Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
28 June 2007, 02:45:20
J'ai un problème avec le deboggage sur l'exemple ShuttlePB.
Quand je fais F5 Orbiter se lance bien ( en mode fenêtré ) mais se coince sur le splash screen.
Le point d'arrêt est pourtant placé exactement au même endroit que sur le tuto ( pour ne pas compliquer la
question ;) )





Puis j'exécute le pas à pas par  f10 et f11
Ca fonctionne très bien sur MSVC mais toujours rien sur Orbiter .
Je pense que c'est un problème de vidéo lié à l'usage de deux écrans car toutes les applications que je peux lancer
en parallèlle sur l'écran de gauche subissent le même phénomène que cette photographie quand MSVC est en mode
debuggage alors que tout fonctionne normalement sur l'écran de droite. Par exemple tochop pollué par Yaffscreen sur
cette photo. J'ai juste balladé la fenêtre Yaff sur l'écran ... l'image ne se rafraichit pas on dit je crois.





Puis tout redeviens normal quand je repasse MSVC en mode "classique" par F5.
Orbiter s'éxécute correctement et le phénomène vidéo cesse aussi ....
Je ne vois pas trop comment régler ce problème ... Windows, le pilote Nvidia ou MSVC :wonder:
Juste par soucis de précision, à aucun moment, l'ordi ne se plante.






Pic

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #1 - 28 June 2007, 05:18:05
Quand le code est arreté sur un breakpoint ce qu'il y a à l'ecran est
inintteressant, ce que tu veux voir c'est les valeurs dans MSVC... !?

Dan


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #2 - 28 June 2007, 10:59:08
Oui, mais normalement, Orbiter devrait s'éxécuter au moins jusqu'à la ligne marquée non ?
La question, c'est pourquoi bloque t'il sur le splash screen ?

Bon, j'ai une réponse je crois .... tout dépend de l'endroit ou l'on place les points d'arrêts ...
Puis par des séries de F5 F10 on peut exécuter pas à pas tout en ayant un résultat visuel
sur Orbiter ( comme des diapos )

Mais quand même, il est étonnant de constater que malgré un point placé sur le shuttle,
MSVC stoppe Orbiter avant mêrme d'avoir affiché le shuttle ( dans certains cas )



Message modifié ( 28-06-2007 12:29 )

Pic

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #3 - 28 June 2007, 12:27:43
pasque tu ne lui laisse pas le temps ;)
Enleve le breakpoint, et quand il vient avec l'ecran
tu ALT+TAB et la tu met un breakpoint.

Dan


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #4 - 28 June 2007, 12:35:49
Ah ben ... je postais en même temps ...
Une autre solution effectivement.
Couplé avec un choix judicieux pour l'emplacement des breakpoints c'est pratique.

Je commençais preque à regretter Crimson :badsmile: .... Nan .... c'est mieux quand même
MSVC avec ce genre de possibilités. Merci pour le how to ... J'ai l'impression qu'une fois la prise
en main du prog faite ça va être un super outil pour se concentrer sur les véritables problèmes ;)


Pic

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #5 - 28 June 2007, 13:45:58
MSVC est vraiment un outil génial par rapport à crimson.
Mais le debug je le repete c'est pas pour voir des trucs sur l'ecran
mais les variables du code.

Dan

« Last Edit: 28 June 2007, 16:26:52 by DanSteph »

Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #6 - 28 June 2007, 15:00:24
D'accord mais mpff :sick:
Dans ce cas, c'était intéressant de constater entre chaque F5 et chaque F10 la différence entre l'aspect de la valeur
sur MSVC et celle affichée dans le coin gauche sur Orbiter  à la frame suivante. Enfin .... pour moi quoi ... :sick:
Mais à part ça, ce n'est pas encore très parlant ...
Chaque réponse amenant autant de questions

Par exemple pourquoi ça ...
Après F5 : MonAltitude   7.615480434695e-317#DEN   double
Après F10 :  MonAltitude   1.5000000000000000   double
et ainsi de suite.
Après F10 je vois bien ce que c'est mais après F5 :doubt:

Mais promis ... j'arrête avec ce genre de questions ;)


« Last Edit: 28 June 2007, 16:26:52 by picto »
Pic

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #7 - 28 June 2007, 15:11:41
Quote
picto a écrit:
Mais promis ... j'arrête avec ce genre de questions ;)

Non pas de soucis, le seul truc dommage c'est que ce soit
noyé dans le forum après un certain temps...

Quand tu arrive avec F5 ta variable "int MonAltitude"
est déclarée, une zone mémoire lui est reservée mais personne
ne lui a jamais assignée de valeur encore donc elle prend la valeure
de la zone mémoire ou elle existe (donc peut etre n'importe quoi)
(la fonction GetAlti() n'est pas encore executé sur cette ligne)

On peut en même temps qu'on déclare une valeur lui assigner
immediatement une valeur:
int MonAltitude=0;
MonAltitude=GetAltitude();

Aucun benefice toutefois dans ce cas.

MonAltitude est une variable locale qui n'existe QUE dans la fonction
car elle est declarée dans cette fonction, les variable de classe elle
existent dans toutes les fonctions de la classe et sont donc persistente.

Ca répond ?

Quote
picto a écrit:
Dans ce cas, c'était intéressant de constater entre chaque F5 et chaque F10 la différence entre l'aspect de la valeur
sur MSVC et celle affichée dans le coin gauche sur Orbiter  à la frame suivante. Enfin .... pour moi quoi ... :sick:

Oui mais aucun interet a part pour le fun ;)


Dan



Message modifié ( 28-06-2007 15:13 )

« Last Edit: 28 June 2007, 16:26:52 by DanSteph »

Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #8 - 28 June 2007, 16:12:57
Ca répond .... faut juste se familiariser petit à petit avec tout ce vocabulaire mais ça va venir.
Sinon, pour la perte d'infos questions réponses en rapport avec le tuto crée un post avec un lien dans le sommaire
avec un nom clair dans le genre ... " Posez les questions ici " ou "FAQ"
Au bout de quelques semaines ce sera un fil touffu ... mais bon ...



Message modifié ( 28-06-2007 16:13 )

« Last Edit: 28 June 2007, 16:26:52 by picto »
Pic

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #9 - 28 June 2007, 16:26:52
Pas con le bourdon... la FAQ...
Va etre touffu of course mais... bonne idée...

Je ferme ce fil, les questions devraient aller ici:
"[tutorial] Posez vos question sur les DLL C++"
http://orbiter.dansteph.com/forum/index.php?topic=6342.msg95437#msg95437

Dan



Message modifié ( 29-06-2007 02:30 )

« Last Edit: 28 June 2007, 16:26:52 by DanSteph »