Seite 5 von 7

Verfasst: 09.04.2007 01:27
von AND51
@ MXVA: Kannst du mir den API-Befehl dafür sagen? Bin daran Interessiert!
Nen Link wär auch nicht schlecht.

Verfasst: 09.04.2007 01:33
von MVXA
Uff, da fragste am besten die Suche ADN ;)

//Edit:
Glaub des wars:
http://msdn2.microsoft.com/en-us/library/ms686223.aspx

vielleicht generell könnte das auch noch interessant sein:
http://msdn2.microsoft.com/en-us/library/ms684847.aspx

und nun etwas Werbung in eigener Sache ^_^:
LINUX ROCKT!!!!!!!!!!!!!!!111111111
(musste nen kleinen Ausgleich schaffen)...

Verfasst: 09.04.2007 14:20
von PMV
Zum thema Debuggen in Multithread-Programmen:
Der PB4 Debugger scheint in der Lage zu sein, bei einem Crash die
aktuelle Programmzeile jedes laufenden Threads zu ermitteln und zu
markieren. Man muss lediglich nach einem Crash ein wenig im
Programmcode rumscrollen :D

MFG PMV

Verfasst: 09.04.2007 14:39
von MVXA
Ist ja auch nicht besonder schwer, soweit ich das in Erinnerung habe,
speichert PB jedes mal die Zeilennummer in einer internen Variable,
bevor es die Anweisung ausführt. So kann dann ganz einfach ermittelt
werden in welcher Zeile sich das "Unglück" ereignete.

Verfasst: 09.04.2007 14:45
von Zaphod
Das ist zwar ganz hilfreich, ändert aber nichts daran, dass das debuggen trotzdem extrem schwer ist. Deadlocks, Race conditions und fehler bei der synchronisation können bei nebenläufigen Prozessen im falle eines Fehlers sporadisch und scheinbar unreproduzierbar auftauchen.

Stell dir vor, du mußt einen Fehler finden, der bei dir scheinbar nur auftaucht wenn du gleichzeitig den internetexplorer offen hast.

Stell dir vor du hast plötzlich strings mit vollkommen abstrus gemischten inhalten.

Ich rede dabei auch nicht unbedingt von fehlern, die das Programm zum absturz bringen. Problematisch sind eher die dinge, die dann nicht laufen wie du es dir vorstellst.

Der Programmablauf ist nichtmehr vollkommen linear wenn du threads hast. Du bist dafür verantwortlich das sich schreib und lesezugriffe auf komplexeren daten nicht in die haare kommen. Bist du dabei übervorsichtig ist der größte teil des geschwindigkeitsgewinnes futsch. Bist du dabei nicht vorsichtig genug bekommst du bizarre fehler von den nutzern deines Programmes gemeldet, die du bei dir vieleicht nichtmal reproduzieren kannst.

Wenn man systematisch rangeht und mit dem kopf immer dabei ist geht es, aber fehler die man macht kosten oft sehr viel nerven.

Verfasst: 09.04.2007 14:52
von MVXA
> Stell dir vor du hast plötzlich strings mit vollkommen abstrus gemischten inhalten.
Kenn ich ;). Das hatte ich damals in den Anfängen meiner PureBasic Zeit.
Solche Fehler sind sehr nervig, ja.

Verfasst: 09.04.2007 14:54
von PMV
lol ... es hat auch keiner was anderes behauptet Zaphod :wink:

@MVXA ... und warum klappt das dann erst seit PB4? ... oder spielt mir
mein Gedächnis nur mal wieder nen Streich? -.-

MFG PMV

Verfasst: 09.04.2007 15:04
von Zaphod
Weil man jetzt einschalten kann, dass Strings automatisch Threadsafe sind... damit opfert man aber wieder etwas Performance, weil die dann standardmäßig einfach bei jedem Zugriff gelockt sind, auch wenn es grade nicht nötig wäre ;)

Verfasst: 11.04.2007 20:07
von X0r
Ich werde demnächst ein E6600 bestellen und wollte fragen, welches mainboard ihr mir empfehlen könnt.

Mein Auge liegt auf dem:
http://www.hwh.de/article.jsp?artId=m64 ... m3290m4290

Verfasst: 11.04.2007 21:05
von RSBasic
@Forge
Ich hab auch nen ASRock, aber es ist nicht so gut.
Dagegen ist Asus oder Abit gut.
Vielleicht findest du hier bessere: http://www.pandaro.de/index.php/cat/c33 ... oards.html