Bugs in Codes
Übersicht

E. Urbachehemals "Basicprogger"Betreff: Bugs in Codes |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
----------------------------------------------------------------------------------------------------------
Endlosschleife ![]() Eine Endlosschleife ist, wie der Name schon sagt, eine Schleife, die sich nie beendet. ![]() Nein ![]() Eine Abbruchbedingung einbauen. ---------------------------------------------------------------------------------------------------------- Division durch 0 ![]() Die Division durch 0 ist nicht erlaubt ![]() Ja (division by zero) ![]() Testen, ob der Wert im Nenner gleich 0 ist und ggf. durch eine Zahl ersetzen, wenn möglich. ---------------------------------------------------------------------------------------------------------- Zugriff auf ein Objekt, das nicht existiert ![]() Wenn man z.B. versucht ein Bild anzuzeigen, das gar nicht existiert. ![]() Kommt auf den Kontext an, wenn mit einer BB-Funktion darauf zugegriffen wird, dann ensteht ein MAV (Memory Access Violation) ![]() Instanzen: Wert vorher mit New erzeugen Bilder: Prüfen, ob das Bild geladen werden konnte (If image<>0 Then) Sounds: Prüfen, ob die Sounddatei geladen werden konnte (If sound<>0 Then) Dateien: Prüfen, ob die Datei existiert (If FileType(fhandle)=1 Then) ---------------------------------------------------------------------------------------------------------- Felder sind zu klein ![]() Zugriff auf einen Feldindex, der nicht existiert. ![]() Ja (Array out of bounds) ![]() Prüfen, ob der Wert vom Index kleiner als die Maximalanzahl ist. ---------------------------------------------------------------------------------------------------------- Zugriff auf Bilder, Sounds... etc. nach Graphics ![]() Objekte sind beim Einsatz von Graphics nicht mehr da. ![]() Kommt auf den Kontext an, wenn mit einer BB-Funktion darauf zugegriffen wird, dann ensteht ein MAV (Memory Access Violation) ![]() Alle Ressourcen wieder neu laden, am besten sollte man schonmal vorrausdenken und eine InitGfx()-Funktion schreiben. ---------------------------------------------------------------------------------------------------------- Zugriff auf Bilder, Sounds... etc. im Vollbildmodus ![]() Im Vollbildmodus sind Objekte beim Wechseln zu anderen Programmen nicht mehr da. ![]() Kommt auf den Kontext an, wenn mit einer BB-Funktion darauf zugegriffen wird, dann ensteht ein MAV (Memory Access Violation) ![]() Alle Ressourcen wieder neu laden, am besten sollte man schonmal vorrausdenken und eine InitGfx()-Funktion schreiben, die genau dann reagiert, wenn der Benutzer das Programm wieder öffnet. ---------------------------------------------------------------------------------------------------------- Stringfunktion Mid ![]() Die Mid-Funktion erwartet als Start-Parameter einen Wert, der größer als 0 ist. ![]() Ja (parameter must be greater than 0) ![]() Prüfen, ob der Wert gleich o ist, oder den Wert um 1 inkrementieren (falls das nicht zu weiteren Problemen führt) ---------------------------------------------------------------------------------------------------------- Instr findet den String nicht ![]() Die Instr-Funktion findet einen String nicht. ![]() Nein ![]() 1) Erstmal versuchen, den String in GROSSBUCHSTABEN zu verwandeln (Instr(Upper$(stri$),"TEST")), dadurch wird die Position des Strings nicht beeinflusst. 2) Keine Umlaute in dem String ---------------------------------------------------------------------------------------------------------- Eigene Funktionen liefern einen falschen Wert zurück ![]() Der Wert bei Return ist nicht der, den man erwartet hatte. ![]() Nein ![]() Den Rückgabetyp der Funktion ändern. Wenn man einen String haben möchte, dann muss bei der Funktionsdeklaration ein '$' stehen: Function GetString$() Wenn man einen String haben möchte, dann muss bei der Funktionsdeklaration ein '#' stehen: Function GetFloat#() ---------------------------------------------------------------------------------------------------------- Bild an falscher Position ![]() Das Bild wird an der falschen Position gezeichnet. ![]() Nein ![]() Erstmal prüfen, ob der Ursprung auf 0 liegt, wenn nicht: Origin 0,0 Dann prüfen, ob die HandlePosition des Bildes "stimmt", wenn nicht: HandleImage img, 0,0 ---------------------------------------------------------------------------------------------------------- Mesh wird nicht angezeigt ![]() Es erscheint kein Mesh, obwohl es an dieser Position stehen müsste. ![]() Nein ![]() 1) Kameraposition korrigieren 2) Sichtweite der Kamera einstellen, vielleciht befindet sich das Objekt ausserhalb der Sichtweite (CameraRange) 3) Ggf. texturieren, wenn das Mesh z.B. schwarz ist. 4) Die Tris sind nicht in der korrekte Reihenfolge verbunden, also umdrehen (FlipMesh) 5) Es ist zu klein (ScaleMesh) 6) Es ist zu groß, die Kamera befindet sich im Mesh (ScaleMesh || FlipMesh) ---------------------------------------------------------------------------------------------------------- Und zuguterletzt ein Spruch, der sehr wichtig ist, damit man sich nicht über die Fehler aufregt: Zitat: "Der Compiler hat immer recht."
Folgendes sollte man sich auch beim Debuggen merken: Zitat: "Eine Variable enthält nicht den Wert selbst, sondern die Position des Wertes im Speicher."
P.S.: Wenn jemandem noch mehr Fehler in Codes einfallen, ab in diesen Thread. |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
#pointer#Gast |
![]() Antworten mit Zitat |
|
---|---|---|
jo, feine Sache, ist vielleicht für Anfänger ganz nützlich. ![]() |
||
totonak5 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Übergeben eines Wertes an eine Variable
![]() Wenn man einer Variable einen Wert übergibt, den man ihr nicht übergeben kann... (zB rgb = getcolor x,y) ![]() Ja, "illegal type conversion" ![]() statt zB "rgb = getcolor x,y" nur "getcolor x,y" zu schreiben... hoffe das stimmt so... |
||
Just for Fun!
Jesus loves U! |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja nicht unbedingt. Wie mans sieht.
Bei ql:GetColor liegt es daran, dass es eine Prozedur ist, und somit keinen Wert zurückgibt. Edit: @totonak5 Ich hab ja geschrieben, "Wie mans sieht". |
||
- Zuletzt bearbeitet von Artemis am Sa, Jan 21, 2006 22:41, insgesamt einmal bearbeitet
totonak5 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
das ist ja auch das was ich gesagt habe, oder nicht!?
naja, gut, du hast es schöner ausgedrückt ![]() |
||
Just for Fun!
Jesus loves U! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group