BlitzMax 1.40

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

juse4pro

Betreff: BlitzMax 1.40

BeitragMo, Jul 19, 2010 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Ich habe grade entdeckt, dass eine neue Version von BlitzMax draussen ist, nun wollte ich mal anfragen, wo ich auf der englischen, offiziellen Seite den ChangeLog herkriege. Hier ist in den News noch nichts aufgetaucht.

Mfg: juse
Portfolio |LinkedIn |XING

mpmxyz

BeitragMo, Jul 19, 2010 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.blitzbasic.com/Comm...opic=91070
Es gibt jetzt einen Debugger, welcher Multithreading unterstützt!
Ich hatte ihn vor ein paar Tagen getestet gehabt:
Er hat zwar die Einschränkung, dass man nur einen Thread auf einmal debuggen kann, aber es ist ein immerhin ein Anfang.
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

juse4pro

BeitragMo, Jul 19, 2010 20:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Dankesehr! Smile

und: klingt so, als ob BlitzMax das Multithreading auch mal freundlicher unterstützt... Mal sehen, was die Zeit gibt
Portfolio |LinkedIn |XING

Mr.Hyde

Newsposter

BeitragMo, Jul 19, 2010 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
psst rechts in der Sidebar steht immer die aktuelle Version und wenns eine neue gibt stehts sogar fett da.
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen

juse4pro

BeitragDi, Jul 20, 2010 13:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja schon klar... Aber ich finde auf der "englischen" Seite keine News dazu... Desshalb der Post Wink
Portfolio |LinkedIn |XING

Der Eisvogel

BeitragSo, Aug 29, 2010 11:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Ich weis der Thread ist nicht mehr der neuste, aber ich wollte keinen neuen eröffnen.

Wie funktioniert denn jetzt dieser MT Debugger? Wie kontroliere ich, welcher Thread debuged werden soll?

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

mpmxyz

BeitragSo, Aug 29, 2010 11:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst mit diesem Update auch in Threads "DebugStop" nutzen. (inklusive der Anzeige der lokalen Variablen)
Das geht aber - leider - nur in einem Thread auf einmal.
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Der Eisvogel

BeitragSo, Aug 29, 2010 11:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber einzelne Errors abfangen geht dann doch nicht? Also um solchen doofen WINDOWS_ACCESS_VIOLATIONS nachzugehen.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

mpmxyz

BeitragSo, Aug 29, 2010 11:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Man kann es auch selbst testen. Wink
BlitzMax: [AUSKLAPPEN]
SuperStrict
Framework brl.Threads
Local thread:TThread=CreateThread(func,Null)
Delay 1000

Function func:Object(obj:Object)
DebugLog obj.toString()
EndFunction

-> "Unhandled Exception:Attempt to access field or method of Null object"
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Der Eisvogel

BeitragSo, Aug 29, 2010 12:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Das das geht weis ich. Aber ich bekomme immer wenn ich irgendetwas threaded programmiere meine lieben WAV's, und denen nachzugehen ist immer eine elendige Arbeit, wenn man keine Schimmer hat woher es kommt. Ich dachte halt, dass ich dadruch schneller zum eigenlichen Fehler kommen kann. Aber das geht wohl nicht, oder verstehe ich das jetzt falsch?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

mpmxyz

BeitragSo, Aug 29, 2010 12:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Normalerweise sollten keine EXCEPTION_ACCESS_VIOLATION-Meldungen kommen. Confused
Ich habe aber eben einen Bug im Zusammenhang von DebugStop, Threads und Exceptions gefunden:
BlitzMax: [AUSKLAPPEN]
SuperStrict
Framework brl.Threads
Local thread:TThread=CreateThread(func,Null)
DebugStop
Delay 10000
End

Function func:Object(obj:Object)
DebugLog obj.toString()
EndFunction

Wenn das DebugStop nicht auskommentiert wird, gibt es EAV's.
*bug report schreib*
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Der Eisvogel

BeitragSo, Aug 29, 2010 12:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja bei mir ist es im Moment so, dass ich nach Lust und Laune bei egal welchem Befehl irgendwie ne WAV bekomme. So als wäre überhaupt kein Modul mehr Threadsafe. Ich habe schon alles auskommentiert was geht. Das Minimum war folgendes:
BlitzMax: [AUSKLAPPEN]
Function Thread:Object(null_data:Object)
Repeat
Print "Timer"
If MilliSecs() - ms > 1000 Then
ms = MilliSecs()
DebugLog "FPS: " + fps
fps = 0
EndIf
fps:+1
Print "Start"
If fps=1 Then Print "FPS=1"
Print "End"
Forever
End Function


Hierbei kommt die WAV manchmal nach Print "Timer", manchmal nach Start oder auch nach End. Was soll ich den jetzt tuen? Wieder eine ältere BM-Version aufspielen?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Noobody

BeitragSo, Aug 29, 2010 12:58
Antworten mit Zitat
Benutzer-Profile anzeigen
mpmxyz hat Folgendes geschrieben:
Wenn das DebugStop nicht auskommentiert wird, gibt es EAV's. *bug report schreib*

Du übergibst Null an den Thread, welcher dann versucht, ToString darauf aufzurufen. Das kann eigentlich nur schiefgehen Razz Ein wenig seltsam, dass der Debugger nicht aufpoppt, aber das es crasht, sollte eigentlich klar sein.

@Der Eisvogel:
Ich bezweifle, dass Print und DebugLog (bzw. alle Output-Funktionen) Threadsafe sind. Umrande mal jeden Aufruf an eine Output-Funktion mit einem Mutex, damit nie zwei Threads gleichzeitig auf die Funktion zugreifen.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Der Eisvogel

BeitragSo, Aug 29, 2010 13:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, passiert. Immernoch die wirren WAV's. Aber zeitgleich zu diesem Thread lief nix anderes. Lediglich im MainThread eine Repeat-Schleife.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Noobody

BeitragSo, Aug 29, 2010 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich hier einen Mutex verwende, geht es ohne Probleme. Folgender Code: BlitzMax: [AUSKLAPPEN]
SuperStrict

Global OutputMutex:TMutex = CreateMutex()

For Local I:Int = 0 Until 10
CreateThread( Thread, String.FromInt( I ) )
Next

Delay 10000

Function Thread:Object(Data:Object)
Local ID:String = String( Data )

Local ms:Int, fps:Int

Repeat
OutputMutex.Lock()
Print "Thread " + ID + ": Timer"
OutputMutex.Unlock()

If MilliSecs() - ms > 1000 Then
ms = MilliSecs()

OutputMutex.Lock()
DebugLog "Thread " + ID + ": FPS: " + fps
OutputMutex.Unlock()

fps = 0
EndIf
fps:+1

OutputMutex.Lock()
Print "Thread " + ID + ": Start"
If fps=1 Then Print "Thread " + ID + ": FPS=1"
Print "Thread " + ID + ": End"
OutputMutex.Unlock()
Forever
End Function


Am besten, du postest mal deinen kompletten Code. Bevor man die Schuld auf BMax schiebt, sollte man zumindest mal Bedienungsfehler ausschliessen können.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

mpmxyz

BeitragSo, Aug 29, 2010 13:13
Antworten mit Zitat
Benutzer-Profile anzeigen
@Noobody:
So verblöded bin auch wieder nicht, dass ich dort keinen Fehler erwarte! Wink
Von einem Debugger sollte man meiner Meinung nach erwarten können, dass er beim Finden von diesen Fehlern zuverlässig ist.
Der Fehlerbericht ist übrigens jetzt weg.
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Der Eisvogel

BeitragDi, Aug 31, 2010 23:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Ihr wollt den gesamten Code sicherlich nicht haben, da er sehr sehr umfangreich und komplex ist (meiner Meinung nach). Es sind nicht nur ein paar Zeilen, aber dieser Code, von dem ich oben schon einen Teil geschrieben habe, verursacht genau das, was ich meine:
BlitzMax: [AUSKLAPPEN]
SuperStrict

Global ms:Int
Global fps:Int

Local t:TThread = CreateThread(Thread, Null)

Repeat
Delay 100
Forever

Function Thread:Object(null_data:Object)
Repeat
Print "Timer"
If MilliSecs() - ms > 1000 Then
ms = MilliSecs()
DebugLog "FPS: " + fps
fps = 0
EndIf
fps:+1
Print "Start"
If fps=1 Then Print "FPS=1"
Print "End"
Forever
End Function


Liegt hier ein Bedienungsfehler vor?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

mpmxyz

BeitragMi, Sep 01, 2010 18:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich sehe dort keinen Fehler. Auf meinem PC läuft das wunderbar. (Windows XP 32 Bit)
Eventuell beißt sich dort etwas mit mit dem 64 bit Windows 7?
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Noobody

BeitragMi, Sep 01, 2010 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Funktioniert hier auf Windows 7 64bit auch ganz ohne Probleme (ausser, dass du durch das ungebremste vollschreiben der Konsole irgendwann die MaxIDE tötest - ein kleines Delay bringt da schon Abhilfe).
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Der Eisvogel

BeitragMi, Sep 01, 2010 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja war ja auch nur ein Test-Code. Aber auch ein Delay hilft nicht, die WAV kommt nach belieben. Ich BM inzw. auch neu installiert, aber immernoch dass selbe.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group