WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Simulationen > Designer Forum

Designer Forum Treffpunkt für Gedankenaustausch von Simmern, die selbst

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 26.02.2003, 11:30   #1
pschartau
Newbie
 
Registriert seit: 05.02.2003
Beiträge: 12


Standard 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
pschartau ist offline   Mit Zitat antworten
Alt 26.02.2003, 12:10   #2
HansHartmann
Inventar
 
Registriert seit: 12.02.2001
Alter: 57
Beiträge: 2.908


Standard

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
____________________________________
Bis dann,
Hans
Digital Aviation
HansHartmann ist offline   Mit Zitat antworten
Alt 26.02.2003, 12:23   #3
pschartau
Newbie
 
Registriert seit: 05.02.2003
Beiträge: 12


Standard

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
pschartau ist offline   Mit Zitat antworten
Alt 26.02.2003, 12:41   #4
bartels
Jr. Member
 
Registriert seit: 01.10.2002
Alter: 57
Beiträge: 90


Standard

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
bartels ist offline   Mit Zitat antworten
Alt 26.02.2003, 13:48   #5
HansHartmann
Inventar
 
Registriert seit: 12.02.2001
Alter: 57
Beiträge: 2.908


Standard

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.
____________________________________
Bis dann,
Hans
Digital Aviation
HansHartmann ist offline   Mit Zitat antworten
Alt 26.02.2003, 15:31   #6
blindflight
Jr. Member
 
Registriert seit: 08.08.2001
Beiträge: 87


Standard

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
blindflight ist offline   Mit Zitat antworten
Alt 26.02.2003, 17:49   #7
pschartau
Newbie
 
Registriert seit: 05.02.2003
Beiträge: 12


Standard

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 ist offline   Mit Zitat antworten
Alt 26.02.2003, 17:50   #8
pschartau
Newbie
 
Registriert seit: 05.02.2003
Beiträge: 12


Standard

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.
pschartau ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist an.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:23 Uhr.


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