mfc程序在特殊情况下线程会疯长,怎么才能查找出线程疯长那段的代码呀,有什么工具吗? 线程mfc 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 编译为调试版并运行打开procexp工具(可以在网上下载),配置好符号路径,找到进程双击,打到“线程”页,看增加的线程的调用栈信息,一般可以定位到线程的位置 搜出CreateThread (或者其它,如_beginthread,afxbeginthread)等函数所在的代码段,然后分析,这个应该容易找出来的 windbg等attach到进程,然后调试查看 代码量很大的,看代码查找不太现实,我用BoundsChecker监控代码,程序运行一晚上,也不知在什么时候就会出现很多线程,用BoundsChecker可以去看这些线程创建的位置吗?怎么看呀?不能的话用什么软件可以呀? 如果能够大概知道疯长的时刻,可以在IDE中点击运行暂停按键(全部中断那个按键),然后点击菜单在调试-窗口-线程,就可以调出当前的全部线程,双击某个线程,会进入对应的代码 有些线城并不是你自己使用beginthread createthread等显示创建,而是操作系统功能的一部分,例如你调用com,会出现一大堆线程,你创建一个对话框,也会出现一个线程,这不是你能控制的.你只要关注好你自己显示创建的线程就行,其他的是操作系统实现的问题,好像没办法限制和跟踪 这个问题是这么回事,程序打开某一功能后,就放那一晚上就会出现这么多线程,只要不打开该功能就没有。是操作系统实现的问题,一个com之类的调用,它需要启动好多的线程来辅助完成整个功能,这你又控制不了的,能做的只是查msdn,尽可能的调整参数,避免不必要的特殊功能调用. 裸五, 看来法国队肯定挂了。。。。。呵呵 动态库 网络分析时代已经来临 但VC高手一将难求 应用程序中添加对话框的问题 如何在线程函数中得到当前对话框中控件的指针! 怎样知道用户按下了“开始” ?? 在SDI应用中,怎样获得状态栏控件对象? vc5下的程序是不是不能在vc6下用? 求~~~查看帐号状态的API 有没有人知道 有谁看过这块老主板? SHBrowseForFolder如何得到移动设备的路径? MFC多文档程序GDI+绘图的问题
代码量很大的,看代码查找不太现实,我用BoundsChecker监控代码,程序运行一晚上,也不知在什么时候就会出现很多线程,用BoundsChecker可以去看这些线程创建的位置吗?怎么看呀?不能的话用什么软件可以呀?
你只要关注好你自己显示创建的线程就行,其他的是操作系统实现的问题,好像没办法限制和跟踪
是操作系统实现的问题,一个com之类的调用,它需要启动好多的线程来辅助完成整个功能,这你又控制不了的,能做的只是查msdn,尽可能的调整参数,避免不必要的特殊功能调用.