vs下 当一个线程被断点断住时,同进程的其它线程如何继续工作

叼烟的狗熊 2019-04-19 12:42:16
最近正在调试多线程的程序,发现当其中某个线程被我设的断点断住时,似乎其它的线程都停止不工作了。
请问高手这样是不是有问题啊?
谢谢!
...全文
1461 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
纵使微芒如烟 2019-12-10
  • 打赏
  • 举报
回复
你都debug了,还想并行,调试得过来么?!!! 在gdb在调试时提供手动调度线程,可以通过命令实现手动多线程并行执行(假的)。 大概可以实现你想要的功能。 调试嘛,总是要顺序你才能看的清
牧童吃五谷 2019-12-02
  • 打赏
  • 举报
回复
建议一种替代方式,不知是否可行 在断点的地方添加如下语句: while(true) { Sleep(10000);// }; 然后你不断按<F5>继续运行,其它线程就继续运行
孤客天涯 2019-10-18
  • 打赏
  • 举报
回复
调试肯定是这样的,而且必须是这样,你可以采用日志的方式进行跟踪
待续_1006 2019-07-25
  • 打赏
  • 举报
回复
VS没有别的办法,除非你打印log日志分析问题吧
schlafenhamster 2019-07-24
  • 打赏
  • 举报
回复
不要断点 使用 log 文件
翅膀又硬了 2019-05-07
  • 打赏
  • 举报
回复
VS就是这样的,没办法
叼烟的狗熊 2019-04-20
  • 打赏
  • 举报
回复
引用 4 楼 zgl7903 的回复:
修改下调试选项试试看
感谢您的回答。经过测试,发现其他线程还是暂时工作。请问有没有可能通过代码进行脱离的。
叼烟的狗熊 2019-04-19
  • 打赏
  • 举报
回复
https://www.cnblogs.com/lzpong/p/5881380.html 类似这篇文章所表达的意思。 调试器(如VS2008和老版GDB)往往只支持all-stop模式,调试多线程程序时,如果某个线程断在一个断点上,你的调试器会让整个程序freeze,直到你continue这个线程,程序中的其他线程才会继续运行。这个限制使得被调试的程序不能够像真实环境中那样运行--当某个线程断在一个断点上,让其他线程并行运行。
叼烟的狗熊 2019-04-19
  • 打赏
  • 举报
回复
经测试,当在子线程下断点的时候,其他线程并不继续工作,我想要的是子线程下断点后,其他线程继续工作,不受不影响。
zgl7903 2019-04-19
  • 打赏
  • 举报
回复
修改下调试选项试试看
叼烟的狗熊 2019-04-19
  • 打赏
  • 举报
回复
各位大佬 有知道的帮忙解答下 谢谢。。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧