Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

30.07.2005, 12:52

für mich kling es nach einer nicht designbarkeit.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

12

30.07.2005, 13:02

Nicht ganz...es würde ähnlich dem Taskmanager funktionieren. Wenn das Programm sich eine Zeit lang nicht meldet, wird es davon ausgegangen, das es hängt.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

13

30.07.2005, 14:20

Zitat

für mich kling es nach einer nicht designbarkeit.

so ein schmarn

Dave

Alter Hase

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

14

30.07.2005, 18:04

genau das gleiche problem hatte/habe ich auch. habe auch nach längerem suchen und probieren nichts gefunden. mache es momentan so, dass ich beim debuggen nach jedem schreiben den buffer auch direkt in die datei schreibe. bringt zwar einen relativ hohen festplattenzugriff mit sich, ist aber immernoch besser als keine logausgabe zu haben wenn das programm abschmiert oder ich es durch vs beende.
falls du ne lösung findest wäre ich dankbar wenn du mir ne pn oder so schreiben könntest...

Anonymous

unregistriert

15

01.08.2005, 00:17

Das mit dem Programmabsturtz konnte ich lösen (hoffe ich zumindest). Wie schon erwähnt, verwende ich jetzt try/catch. Damit sieht meine Main-Funktion , der Hauptapplikation jetzt so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
  try
  {
    while(App->Run())
    {
      DoSomething();
    }
  }

  catch(...)  //catch any exception
  {
      GDMLOG_EXIT();
  }
}


In GDMLOG_EXIT() wird dann noch das Schreiben der Log-Datei erledigt.
Ich glabue dass es damit funktioniert. Bin mir aber noch nicht sicher, denn ich bin noch nicht dazu gekommen, das auch auszuprobieren. Aber laut MSDN ist das eine der Möglichkeiten eine ungewollte Programmtermination festzustellen.
Dieser Block sollte aber nur dann nötig sein, wenn das Programm wirklich "abschmiert". Ansonsten habe ich das Schreiben der Log-Datei in der ExitInstance-Methode der Dll, was keine Probleme macht, solange man die Applikation nicht mit StopDebug beendet oder das Programm eben wirklich abstürzt.

mfg Philipp

Werbeanzeige