Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Herausbekommen wo ein Thread gerade ist (https://www.delphipraxis.net/131846-herausbekommen-wo-ein-thread-gerade-ist.html)

Viktorii 1. Apr 2009 08:59


Herausbekommen wo ein Thread gerade ist
 
Moin zusammen.
Ich habe eine Anwendung mit zwei Threads. Der zweite Thread wird mal aufgeweckt und soll sich abhängig von äußeren Ereignissen selbst schlafen legen.

Das funktioniert auch fast immer. Es gibt jedoch Situationen wo er das nicht macht. In dem Fall habe ich auch keine Ahnung, wo dieser gerade steht bzw. was er gerade macht. Es sieht so aus als würde er nichts machen, aber suspended hat er sich auch nicht.

Wenn ich in der IDE mal hier und da nen Breakpoint setzte um herauszufinden ob er vielleicht gerade dort ist, hält er dort auch nicht.

Ganz allgemein: Wie kann ich in so einem Fall herausbekommen an „welcher Codezeile“ mein Thread gerade ist?

Vielen Dank

Luckie 1. Apr 2009 09:25

Re: Herausbekommen wo ein Thread gerade ist
 
Wo der Thread ist, weiß nur der Thread. Das heißt er muss es dir sagen, in dem er dir Nachrichten schickt oder in eine Logdatei schreibt.

Apollonius 1. Apr 2009 20:09

Re: Herausbekommen wo ein Thread gerade ist
 
MSDN-Library durchsuchenSuspendThread und danach MSDN-Library durchsuchenGetThreadContext. Damit bekommst du zwar zunächst keine Codezeile, sondern nur EIP, aber das ist nicht allzu schwer umzurechnen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz