2012-02-07 31 views
4

我正在開發一個使用Delphi 2010(使用優秀的OmniThreadLibrary)的多線程客戶端應用程序,而且由於我經常從一個線程切換到另一個線程,所以我很難調試。德爾福2010中其他線程的執行點

我想知道是否有可能(使用任何工具或插件,我不在乎!)找到當前的執行點,不僅是爲當前線程,而且爲所有其他線程。

一個簡單的例子/報告:

Thread #1 stopped at line #5 
Thread #2 stopped at line #25 (<-- breakpoint set here, causing Delphi to stop) 
Thread #3 stopped at line #78 

我的目標是「看」什麼時候德爾福停止在特定斷點的其他線程都在做,而不是僅僅使用日誌(或不那麼有用線程12345停止),但檢查他們就好像斷點停在他們。

我希望我的問題已經夠清楚了,請注意它已經過了午夜,所以如果我的問題聽起來很愚蠢,不要責怪我!

回答

6

如果我正確地理解了你,你應該能夠在斷點(Ctrl-Alt-T)時調出線程窗口,然後雙擊任何線程以查看它當前正在執行的位置。

+0

謝謝你的提示!但是,這帶給我帶有ASM代碼的CPU窗口,我希望看到與我的pascal代碼對應的執行點(或至少最近的點) – TheDude 2012-02-07 00:58:05

+3

查看調用堆棧窗口。當你獲得CPU窗口時,通常意味着線程正在O/S級別等待某些事件發出信號。 – 2012-02-07 01:02:48

+0

是的,這就是我一直在尋找的!不是很容易找到,但至少現在我可以看到其他線程信息! 我已經upvoted你的答案,但我仍然沒有這些15聲望點:(非常感謝你! – TheDude 2012-02-07 01:18:53