WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Designer Forum (http://www.wcm.at/forum/forumdisplay.php?f=61)
-   -   C gauge debuggen (http://www.wcm.at/forum/showthread.php?t=89372)

pschartau 26.02.2003 11:30

C gauge debuggen
 
Hallo,
mein erstes Gauge Projekt ist ziemlich fertig. Die Gauge funktioniert auch wunderbar, macht genau was ich will. Allerdings kriege ich so ziemlich zufällig erscheinende Flusi-Abstürze - mal 10 Sekunden nach Laden der Gauge, mal läuft sie für 2 Stunden.
Jetzt mal eine Grundsatzfrage: Wie kann man FS2002-Gauges am besten debuggen? Im C-Code kann ich nichts entdecken, was ganz offensichtlich falsch ist. Wie kann ich herausfinden, welche Werte sämtliche Variablen hatten, und ich welcher Function sich die Gauge gerade befand, als sie abgestürzt ist?
Gruß
Philipp

HansHartmann 26.02.2003 12:10

Womit arbeitest Du denn genau? VC++ IDE? VC++ Kommandozeile? Borland? Watcom C?

Eine der einfachsten Debugging-Möglichkeiten ist sicherlich das Log-File. Einfach mit fopen eine Datei aufmachen, Werte protokollieren und fertig.
Allerdings kann man auch durch mit dem integrierten VC++ Debugger arbeiten, was dann doch sehr komfortabel ist :-)

pschartau 26.02.2003 12:23

Hallo Hans,
ich arbeite mit dem Borland Freeware C++ Builder, leider ohne integrierten Debugger. Wenn ich, wie du beschrieben hast, mit fopen ein Textfile öffne und da die Werte reinschreibe, wird das dann nicht in kürzester Zeit enorm groß? Ich meine, wenn man von 25 Frames/second ausgeht, und die Gauge jedesmal die Variablen in einen Textfile schreibt, muss der doch in Windeseile riesig groß werden. Oder empfiehlst Du, den Logfile an einer strategisch günstigen Stelle im Code zu löschen?
Gruß
Philipp

bartels 26.02.2003 12:41

Die Logfiles werden halt groß, so ist es nun mal. Man muss sie von Zeit zu Zeit löschen. Die Imagecallbacks werden übrigens mit 18Hz aufgerufen, die Gaugecallbackfunktion ein bischen öfter, allerdings tritt PANEL_SERVICE_PRE_UPDATE mit 18Hz auf.
Mit MS VC++ sollte auch der "normale" Debugger funktionieren, allerdings läuft das bei mir und FS2002 nicht, FS2000 aber schon.
Arne Bartels

HansHartmann 26.02.2003 13:48

Hi Arne,

das habe ich auch schon von anderen gehört. Bei mir geht der Debugger mit dem FS2002, egal ob VC++ 6 oder VS.NET. Leider bin ich noch nicht dahinter gekommen, was ich nun anders mache, als Ihr. Genau genommen mache ich eigentlich überhaupt nichts an den grundlegenden Projektsettings. Ich verwende nur eine minimal modifizierte gauges.h, damit ich C++ verwenden kann, sonst nix.

blindflight 26.02.2003 15:31

Hallo Phillip,

hab mir dein PMP Gauge mal runtergeladen und installiert. Mein FS stürzte nach aufrufen des Panel's sofort ab.
Jetzt hab ich mir mal die Datendatei angeschaut. Mir is aufgefallen das du das alte Koordinatensystem verwendest. Der Flusi arbeitet mit den WGS84 Format (N10* 51.44' E08* 13.10' als Beispiel). Vielleicht liegt der Bug ja daran.

War nur so ne Idee auf die Schnelle. Bin aber kein Programmierer wie unser Hans der Gaugeguru.

Salü Jan

pschartau 26.02.2003 17:49

Hallo Jan,
Auszug aus dem SDK:
Zitat:

PLANE_LATITUDE - Specifies current latitude of aircraft. (to get degrees divide by 40007000.0 and multiply by 360).
IMHO bedeutet das, dass ich dann eine Breite in Grad und Decimals habe, genau wie in der pmp.dat. Und sämtliche Großkreisformeln verlangen dieses Format (nach Umrechnung in radians natürlich).
Gruß
Philipp

pschartau 26.02.2003 17:50

P.S.: Und außerdem funktioniert die Kursberechnung ja als solches, also kann es wohl nicht am Format liegen. Ich werde es jetzt mal mit nem Logfile versuchen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag