Delphi 2010中其他线程的执行点

The*_*ude 4 delphi debugging multithreading omnithreadlibrary

我正在使用Delphi 2010开发一个多线程客户端应用程序(使用优秀的OmniThreadLibrary),因为我经常从一个线程交换到另一个线程,所以我很难进行调试.

我想知道是否有可能(使用任何工具或插件,我不在乎!)找到当前执行点,不仅是当前线程,还有所有其他线程.

一个简单的例子/报告:

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
Run Code Online (Sandbox Code Playgroud)

我的目标是"看到"当Delphi在某个断点处停止时其他线程正在做什么,而不仅仅是使用日志(或者不那么有用的Thread 12345停止),而是检查它们就好像断点停在它们处.

我希望我的问题很清楚,请注意它已经过了午夜,所以如果我的问题听起来很愚蠢,请不要怪我!

500*_*ror 6

如果我正确理解你,你应该能够在断点处(Ctrl-Alt-T)调出线程窗口,然后双击任何线程以查看它当前正在执行的位置.

  • 查看调用堆栈窗口.当您获得CPU窗口时,通常意味着线程正在O/S级别等待某个事件发出信号. (3认同)