erfahrungswerte gefragt: wenn bb-progr. bei einigen abstürzt

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

wurm

Betreff: erfahrungswerte gefragt: wenn bb-progr. bei einigen abstürzt

BeitragFr, Okt 15, 2004 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
ahoi,

also ich hab eine b3d-exe kompiliert und in projects gepostet. lief bei allen testern fehlerfrei ausser bei einem. da stürzt es mittendrin ab mit memory access violation.

bevor ich mir jetzt einen wolf suche meine frage:

gibt es erfahrungswerte mit sowas? kann man sagen "wenns bei fast allen läuft liegt der fehler nicht am blitz-programm sondern an den grafiktreibern desjenigen, bei dem es abstürzt".

ich war jetzt mal davon ausgegangen dass ein blitz-programm auch bei allen zuverlässig läuft wenn man alle befehle so verwendet dass es auf dem eigenen rechner keine fehler gibt (natürlich immer vorausgesetzt, der rechner des testers ist gesund). schliesslich wird doch die hardwarediversifikation über directx7 "geglättet". ich verwende auch nur "standard"-befehle, kein fastwrite, externe dlls oder sowas

oder muss man bei blitz3d auch zig von workarounds für spezielle fehleranfällige konstellationen schreiben? wie macht ihr betatests ? wo sind bei diesem thema die wichtigsten fallstricke?

danke für eure erfahrungswerte
wurm
free tibet

Paul

BeitragFr, Okt 15, 2004 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
hatte das Problem bei GirglWorld auch, bei manchen Schul-rechnern bei uns hat es beim Levelwechsel einen "memory-access"-gegben. Ich konnte aber keine Regelmäßigkeiten oder irgentwelche Gründe herausfinden...
vielleicht lags am Windoof NT, keine ahnung...

Paul
Stratocaster black - Roland MicroCube
User posted image
Girgl-World, wer's nich kennt, is' blöd!

Lord_Vader

BeitragFr, Okt 15, 2004 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
MHMH! Also ich hab (ausser wenn ich was falsch gecoded hab) nicht einmal so einen fehler gesehen aber bei deinem Messestand schon!

Ich würde mal behaupten es liegt am code. Guck am besten alles nochmal durch oder besser noch MEHRMALS. Ich finde auch nach wochen erst sachen, an die ich nie gedacht hätte.

Noch was zu den auflösungen!: Man kann mit CountGfxmodes...die auflösungen abfragen lassen! Mach das die Auflösungen wegfallen, die bei einem nicht gehen! Bei mir geht zB 1280 nicht. Wegen dem Monit0r und das sieht blöd aus wenns da steht und net geht Very Happy
 

René Meyer

BeitragFr, Okt 15, 2004 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
"memory access violation" läßt eher darauf schließen, daß derjenige die ZIP-Datei ohne Unterverzeichnisse ausgepackt hat und damit keine Bilder und Graphiken hat.
www.blitzbasic.de | Das Buch zu Blitz Basic: www.schreibfabrik.de/txt/bbb

Lord_Vader

BeitragFr, Okt 15, 2004 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder eine datei vergessen wurde zu LADEN und einfach mal angezeigt werden soll, was nicht geht Wink

jungle

BeitragSa, Okt 16, 2004 0:21
Antworten mit Zitat
Benutzer-Profile anzeigen
@René Meyer
ein zip brauchte nicht entpackt werden. die application kam als setup.
In der Realität ist die Wirklichkeit ganz anders.

| P3 550Mhz | P90Mhz | AMD 1Ghz | XP 2600@3200Mhz l P2 400Mhz | Dual XP 2000Mhz |
 

Gerhard

BeitragSa, Okt 16, 2004 9:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ungewissheit über fehlende Dateien kann man ausschliessen, wenn man sich angewöhnt, jeden Ladevorgang schon bei Programmerstellung generell mit

If not [bild oder text oder sonstwas] then errormessage "Bild/Text soundso fehlt"

zu überprüfen. Das hilft meist schon mal weiter.

Lord_Vader

BeitragSa, Okt 16, 2004 10:16
Antworten mit Zitat
Benutzer-Profile anzeigen
ja aber du kannst auch mit arrays arbeiten und einen fehler in deine schleifen proggen und du hast son fehler und findest ihn trotzdem nicht!

Gina

BeitragSa, Okt 16, 2004 10:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich habe gerade mit meinem Lieblingstester das gleiche Problem. Der code ist richtig, die Textur ist da, aber er kann sie nicht laden und bringt diesen Fehler.

Es liegt wohl am Graka-Treiber und dessen DirectX-Unterstützung. Bisher haben wir noch keine Lösung gefunden.

Was hat derjenige für ein System und welche Graka?

Gina.
www.jk-spiele.de

wurm

BeitragSa, Okt 16, 2004 11:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Was hat derjenige für ein System und welche Graka?


bin ich grade am rausfinden.

das mit dem abfangen der grafikmodes und den fehlenden bildern ist natürlich richtig. ich war dafür bisher zu faul und zu ungeduldig, endlich mit einem spiel anzufangen. ich hab aber ne setup gemacht die absolut zuverlässig alle dateien kopieren sollte.

@Lord_Vader
Zitat:
MHMH! Also ich hab (snip) nicht einmal so einen fehler gesehen aber bei deinem Messestand schon!


Dann hattest Du das also auch? Hm, dann wirds langsam verdächtig.
free tibet
 

OJay

BeitragSa, Okt 16, 2004 11:39
Antworten mit Zitat
Benutzer-Profile anzeigen
im release-mode kompilierte blitzprogramme bringen grundsätzlich BEI ALLEN unregelmäßigkeiten diese schöne memory-access-violation. dagegen hilft nur ein eigenes fehlermanagment, oder die exe im debug-modus kompilieren. dann ists zwar unter best. umständen langsamer, aber man bekommt eine genauere fehlermeldung (in der regel). für beta-versionen empfiehlt sich daher im debug-kompilierte programme auszuliefern...
 

Gerhard

BeitragSa, Okt 16, 2004 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Lord_Vader
Auch wenn man arrays zum Laden verwendet kann man jeden Ladevorgang überprüfen und eine aussagekräftige Fehlermeldung produzieren.

tft

BeitragSa, Okt 16, 2004 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi......

Ich habe bei meinem Actuellen Game-Project Station Defence ein änliches Problem gehabt. Das einzige was mir geholfen hat, war eine Debug ausgabe zu erzeugen und das ist bei 15000 Zeilen Code echt mühsam. Daher habe ich den PreCompiler gemacht. Es ist nämlich ganz schön schwierig auf misteriöse Fehler wie Memory Fehler zu reagieren wenn man nicht weis wo der herkommt.
Meistens genügt es aber nach jedem LadeBefehl die Variable mit If Then und einem Runtimeerror() zu testen. Das Problem der zur Laufzeit nicht mehr existierende Entity() kann aber damit nicht behoben werden. Offt steht ein Logischer fehler im weg. Irgendwann ist der Handler durch FreeEntity() gelöscht worden. Das trifft vorallem auf Objecte zu dehnen Objecte angehängt wurden. Solche möglichen Probleme sind aber Code bedingt. Da hat BB eine echte Schwäche. Da man auf einen Runtimeerror nicht mer reagieren kann und ein Prüfbefehl wie EntityExist() nicht existiert. In meiner ToDo liste gibt es diesen Befehl. Mal sehen wann ich ihn fertig habe.
Einen Bug würde ich als letztes annehmen. Offt liegt es auch daran das ein "/" mit einem "\" verwechselt ist. Es gibt Windows konfigurationen da Funktioniert das mit "\" nicht. Aber dafür mit "/". Daher solte for öffnen einer Datei immer die Existens und die korrektheit der Pfad angaben getestet weden. Auch "//" kann bei dem einen Funktionieren und beim anderen nicht.
Dann habe ich noch selber gesehen das Vieren die die SystemFunktionen Patchen öffter mal ärger machen.
Und Norton ist natürlich ein Schrecklicher Vieren Wächter. Der bringt es glatt vertig und verweigert das erzeugen und auslesen von dateien wenn in diesen bestimmte Byte kombinationen vorkommen.

Trotz alle dehm halten sich die DebugFindungen in BB stark in grenzen.
Auch wenn du mal im Forum nach Debug infos suchts wirst du nicht fiel finden. Da es nicht fiel zu berichten giebt.

Info Smile

Der Precompiler stellt funktionen zur verfügung mit denen man auch zur laufzeit mittels eines RunTimeError() die lage der Fehlerhaften Zeile leicht herausfinden kann.

x=LoadTexture("test.jpg")
If x=0 Then RunTimeError(InFunction()+InMacro()+InInclude()+CodeLine())

Würde zum beispiel im Runtime Fenster die genau position im SorceCode widergeben. Ganz egal wie offt du die Position änderst. Du must nur noch die Release Time des Code mitangeben. Damit du nicht in einem Falschen suchst.

www.optima-code.ch/precompiller.htm
TFT
https://www.sourcemagic.ch
Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!!

Lord_Vader

BeitragSa, Okt 16, 2004 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Gerhard zeig mir mal den code, wie...
 

BIG BUG

BeitragSa, Okt 16, 2004 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Zumindest im 2D-Bereich scheint es Probleme mit neueren NVidia-Treibern zu geben. Mit dem aktuellen Treiber funktionieren unter WindowsME generell keine 2D-DirectX-Anwendungen mehr.
Mein Kumpel berichtete gestern über einen komischen Absturz auch unter WindowsXP(Auch NVidia-Grakacke). Bin dem Ganzen aber noch nicht weiter auf den Grund gegangen.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

Gerhard

BeitragSa, Okt 16, 2004 20:25
Antworten mit Zitat
Benutzer-Profile anzeigen
@Lord_Vader

Code: [AUSKLAPPEN]

Dim Block(7)
For i = 1 To 7 ; Sondersteine fuer Extras
     Block(i) = LoadMesh("Modelle\Extra"+Str$(i)+".b3d")
     If Block(i) = 0 Then RuntimeError "Modell 'Modelle\Extra"+Str$(i)+".b3d' fehlt."
Next


In irgendeiner Variable findet sich die geladene Datei immer, schließlich muss man sie ja wieder aufrufen können Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group