Sha*_*ala 59 java eclipse debugging multithreading
在我正在调试的方法中,我正在生成一个新线程.我需要调试这个新线程的执行而不是父线程.我怎么能在eclipse中这样做?
Eri*_*aju 176
除了Shamit Verma的回答:
在处理调试多线程Java应用程序时,最好不要使用仅挂起设置断点的线程的标准断点.在应用程序中定义标准断点,只会破坏相关的线程.其他线程仍将运行.在eclipse调试器中由于某种原因将导致调试器在其他线程已经启动时跳过断点.
调试Java的解决方案:
在所需的线程中定义断点(我期望的@ Run()方法..),右键单击断点 - >断点属性.
在断点属性对话框中,勾选"暂停VM"而不是"暂停线程".
如果您这样做,则在达到断点时将暂停整个VM.
在C/C++ CDT中,使用 set scheduler-locking :
正如@Employed Russian在回答其他问题时所说,GDB命令:
set scheduler-locking on
Run Code Online (Sandbox Code Playgroud)
将导致其他C/C++线程保持挂起状态,同时允许当前线程执行.此命令可以在Eclipse/CDT Debug中执行,方法是暂停程序执行并打开"调试器控制台"透视图并输入:set scheduler-locking on 以后可以通过以下方式恢复正常:set scheduler-locking off
有关调度程序锁定和非停止模式的更多信息,请参阅GDB文档,该模式允许其他线程在停止单个线程时运行.
| 归档时间: |
|
| 查看次数: |
63560 次 |
| 最近记录: |