为什么进行多线程调试的时候断点不能执行呢?

space_006 2011-04-12 11:48:28
项目工程中开辟了多个线程 在开辟的线程中打断点 出现如下图所示的情况 断点处也不停止


在项目选项中 MFC的使用设置为 在共享dll中使用MFC
代码生成选项中 运行时库设置为 多线程调试 DLL (/MDd)

如下图所示:

http://hiphotos.baidu.com/space006/pic/item/b38296de181437635882dd28.jpg
...全文
1267 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
LiuYinChina 2011-04-13
  • 打赏
  • 举报
回复
C++ -> General -> Debug Information Format = Program Database
C++ -> Optimization -> Optimization = Disabled
Linker -> Debugging -> Generate Debug Info = Yes
space_006 2011-04-12
  • 打赏
  • 举报
回复

space_006 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 king_hhuang 的回复:]
多线程不能在辅助线程中直接设置断点,你把调试信息写到log日志吧
[/Quote]

我在VS2010的环境下作的 可是之前就能直接在主线程开辟的线程里面设置断点的啊
space_006 2011-04-12
  • 打赏
  • 举报
回复


King_hhuang 2011-04-12
  • 打赏
  • 举报
回复
多线程不能在辅助线程中直接设置断点,你把调试信息写到log日志吧
HowToP2p 2011-04-12
  • 打赏
  • 举报
回复
看不到图
space_006 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 robertbaker 的回复:]
调试信息和代码不匹配!
[/Quote]

我把工程清理以后重新编译连接 还是照样不能使用断点 。。。

LiuYinChina 2011-04-12
  • 打赏
  • 举报
回复
调试信息和代码不匹配!
yao050421103 2011-04-12
  • 打赏
  • 举报
回复
多线程最好用日志观察程序的运行,单步基本是打酱油...
xiaohuh421 2011-04-12
  • 打赏
  • 举报
回复
有可能是你的这个cpp路径不是你工程的那个cpp,
比如你有两个工程,一个在C盘,一个在d盘,你打开的是c盘工程,但是某个ccp的路径却是指向的d盘的那个工程中的.
这样就会导致生成的exe和实际代码不一致,导致断点无效,不能断下.
所以可以先确认.cpp文件的路径是否是正常的.

再有,可能你改某个东西的时候,是不是把调试信息去掉了,或者代码优化给加上了.
无言猪 2011-04-12
  • 打赏
  • 举报
回复
加载的exe是输出的exe吗?直接在调试->窗口->模块里面看下.

15,472

社区成员

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

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